Я пытаюсь создать регулярное выражение для извлечения текста из строк. Я хочу извлечь текст из URL или обычные текстовые сообщения, например ::100100
endpoint/?userId=#someuser.id
OR
Hi #someuser.name, how are you?
И из обоих я хочу извлечь #someuser.name
из сообщения и #someuser.id
из URL. Может быть много таких строк для извлечения из URL и сообщений.
Мое регулярное выражение в настоящее время выглядит так:
(#[^\.]+?\.)([^\W]\w+\b)
Работает нормально, кроме одного на один случай, и я не знаю, как это сделать - например ::
Эти строки НЕ ДОЛЖНЫ совпадать: # .id
, #.id
. Между #
и .
должен быть хотя бы один символ. Один или несколько пробелов между этими символами не должны совпадать.
Как я могу сделать это, используя мое текущее регулярное выражение?