正则表达式将单词与数字匹配,但如果只是数字则不匹配

时间:2018-05-12 00:28:22

标签: regex pcre

我想匹配一个可能包含数字但不包含数字的单词。

例如:

Menial = 匹配

John124 = 匹配

V4n3ss4 = 匹配

0livia = 匹配

3715 = 不匹配

我尝试了\w*,但令人惊讶的是,这需要一个简单的数字作为一个单词。我还尝试了\b的其他模式,但我注意到,由于某种原因,单个数字也被视为“单词边界”。

2 个答案:

答案 0 :(得分:2)

在比赛中间某处强制写字母的一种方法是将[A-Za-z]置于\w*个表达式之间,如下所示:

\b\w*[A-Za-z]\w*\b
两端的

\b确保匹配位于字边界。

Demo.

答案 1 :(得分:2)

尝试:Rebuild

这实际上是“至少有一个由任意数量的字母数字字符包围的非数字字符”