Соответствие регулярному выражению, довольно просто: - PullRequest
3 голосов
/ 05 августа 2009

Я хочу сопоставить синтаксис Twitter с регулярным выражением.

Как я могу сопоставить что-либо, что "@______", то есть начинается с символа @, и после него не должно быть пробелов, только буквы и цифры до конца слова? (Твитерам я хочу сопоставить чье-то имя в ответе)

Ответы [ 5 ]

6 голосов
/ 05 августа 2009

Перейти на

/@(\w+)/

для извлечения соответствующего имени.

5 голосов
/ 05 августа 2009

@\w+

Так просто?

2 голосов
/ 05 августа 2009

Следует отметить, что Twitter больше не позволяет использовать имена пользователей длиннее 15 символов, поэтому вы также можете сопоставить с:

@\w{1,15}

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

Очевидно, что нет никаких правил относительно того, могут ли подчеркивания использоваться в начале или в конце имен пользователей, многократных подчеркиваний и т. Д., И существуют учетные записи с однобуквенными именами, а также кто-то с именем пользователя "_".

0 голосов
/ 13 декабря 2012

Существует очень обширный API для получения правильных имен Twitter, упоминаний и т. Д. Java-версию API, предоставляемую Twitter, можно найти на github twitter-text-java . Возможно, вы захотите взглянуть на него, чтобы увидеть, можете ли вы это использовать.

Я использовал его для проверки имен в Твиттере, и он работает очень хорошо.

0 голосов
/ 05 августа 2009
@[\d\w]+

\ d для цифры
\ w для символа слова
[] для обозначения класса символов
+ для представления более одного экземпляра класса символов

Обратите внимание, что эти спецификаторы для букв и цифр зависят от языка. Проверьте спецификацию языка, чтобы быть уверенным.

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