Python Regex Twitter имя пользователя, включая @ - PullRequest
0 голосов
/ 04 декабря 2018

Итак, я нашел это регулярное выражение:

(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9-_]+)

из этого вопроса: регулярное выражение для имени пользователя Twitter

Но это игнорирует фактическое "@" в дескрипторепри возвращении.Я пытался изменить это, чтобы включить @ без успеха.Я хочу вернуть "@username" вместо "username".Как мне отредактировать это регулярное выражение, добавив "@"?

1 Ответ

0 голосов
/ 04 декабря 2018

В основном вам нужно поместить @ в группу захвата, которую вы возвращаете.Тем не менее, шаблон очень загадочный и может быть значительно упрощен.

(?<![\w.-])@[A-Za-z][\w-]+

См. Демонстрационный пример regex

Подробности

  • (?<![\w.-]) - отрицательный вид сзади, который не соответствует совпадению, если непосредственно слева от текущего местоположения есть слово char или . или -
  • @ -@ char
  • [A-Za-z] - буква ASCII
  • [\w-]+ - 1 или более слов или дефисов.

В Python 3 скомпилируйтешаблон с флагом re.ASCII, чтобы \w соответствовал только буквам и цифрам ASCII.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...