Мне нужно регулярное выражение, которое избегает букв и цифр в одном слове - PullRequest
0 голосов
/ 28 февраля 2020
Article (should pass)
Article45 (should not pass)
45 Article(should pass)
45Article(should not pass)
45 45 article article 45 45 45 article 45 article(should pass)
45 45 article article 45 45 45 article 45 45 article 45 45(should pass)
45 45 article article 45 45 45 article 45 article45(should not pass)
45articl45 yes 45(should not pass)
article 45 45 45 article(should pass)

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Строка, которая не содержит слова, которое содержит и букву, и цифру.

^(?!.*(?=\w*[a-zA-Z])(?=\w*\d)).*$

в действии (но вам может потребоваться изменить, чтобы соответствовать указанному c Реализация движка regexp, согласно моему комментарию выше)

0 голосов
/ 28 февраля 2020

Проще определить, нет ли совпадения, чем совпадение. В Ruby,

r = /\p{L}\d|\d\p{L}/

"45 45 article 45 45 article 45 45" !~ r  #=> true
"45 45 article 45 45 article45"     !~ r  #=> false

В Ruby, str !~ r возвращает true, если совпадений нет, аналогично !(str =~ r). Регулярное выражение гласит: «соответствует букве Юникода, за которой следует ди git или ди git, за которыми следует буква Юникода».

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