Рубиновое регулярное выражение для получения имен пользователей после символа @ - PullRequest
0 голосов
/ 19 сентября 2018

Как я могу получить имя пользователя без символа @?Это все, что находится между @ и любым несловарным символом.

message = <<-MESSAGE
From @victor with love,
To @andrea,
and CC goes to @ghost
MESSAGE

Используя регулярное выражение Ruby, я попытался

username_pattern = /@\w+/

Я хотел бы получить следующий вывод

message.scan(username_pattern)
#=> ["victor", "andrea", "ghost"]

Ответы [ 4 ]

0 голосов
/ 19 сентября 2018

Попробуйте это

irb(main):010:0> message.scan(/@(\w+)/m).flatten
=> ["victor", "andrea", "ghost"]
0 голосов
/ 19 сентября 2018

Я бы сказал:

message.scan(/(?<=@)\w+/)
#=> ["victor","andrea","ghost"]

Возможно, вы захотите прочитать о регулярном выражении .

.
0 голосов
/ 19 сентября 2018

Вы можете сопоставить @ и затем захватить один или несколько раз символ слова в группе захвата

@(\w+)

username_pattern = /@(\w+)/

Regex demo

0 голосов
/ 19 сентября 2018

Используйте взгляд за

(?<=@)\w+

это оставит символ @ регулярное выражение

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