正则表达式将单词与数字匹配,但如果它只是数字则不匹配
Regex to match a word with numbers but not if it's numbers only
我想匹配一个可能包含数字但不是纯数字的单词。
例如:
Menial
= 匹配
John124
= 匹配
V4n3ss4
= 匹配
0livia
= 匹配
3715
= 不匹配
我试过 \w*
但令人惊讶的是,这需要一个普通数字作为一个词。我还尝试了 \b
的其他模式,但我注意到,出于某种原因,单个数字也被认为是 "word boundary".
强制将字母放在匹配中间某处的一种方法是将 [A-Za-z]
放在 \w*
表达式之间,如下所示:
\b\w*[A-Za-z]\w*\b
两端的 \b
s 确保匹配位于单词边界。
尝试:\w*[a-zA-Z]\w*
这本质上是"At least one non-digit character surrounded by any number of alphanumeric characters"
我想匹配一个可能包含数字但不是纯数字的单词。
例如:
Menial
= 匹配
John124
= 匹配
V4n3ss4
= 匹配
0livia
= 匹配
3715
= 不匹配
我试过 \w*
但令人惊讶的是,这需要一个普通数字作为一个词。我还尝试了 \b
的其他模式,但我注意到,出于某种原因,单个数字也被认为是 "word boundary".
强制将字母放在匹配中间某处的一种方法是将 [A-Za-z]
放在 \w*
表达式之间,如下所示:
\b\w*[A-Za-z]\w*\b
两端的 \b
s 确保匹配位于单词边界。
尝试:\w*[a-zA-Z]\w*
这本质上是"At least one non-digit character surrounded by any number of alphanumeric characters"