Строка соответствия регулярного выражения, начинающаяся с @ - PullRequest
0 голосов
/ 08 июня 2019

Как мне сопоставить символ @ строки как @RandomName


Некоторые ограничения:

  1. Матч должен начинаться с @
  2. Совпадение должно быть длиной от 2 до 49 символов.
  3. Первый символ после @ должен быть одним из A-Z, a-z, _
  4. Допустимые символы: 0-9, A-Z, a-z, _
  5. Матч должен закончиться после окончания слова.

Некоторые примеры строк для сопоставления

  1. @RandomName
  2. @_1RandomName
  3. @___
  4. @_1_

Это то, что я имею до сих пор. Это работает, но я не уверен, что это лучший способ сделать это.

(^|\s)@(?=[^\d&%$-]\S{2,49})\b

1 Ответ

3 голосов
/ 08 июня 2019

Если первые 2 символа не учитываются в сумме до 49 символов:

(?<=^|\s)@(?=[^\W\d]\w{2,49}\b)

еще:

(?<=^|\s)@(?=[^\W\d]\w{0,47}\b)

Демо

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