我正在尝试匹配零件号与普通文本混合的字符串。
这里有一些例子。
在这些例子中,我试图匹配。
我在 .Net 中,这是我一直在使用的正则表达式。
(\b[a-zA-Z0-9][a-zA-Z0-9\-]{1,32}(\b|$)(?<=[0-9]))
如果比赛以数字结尾,它可以满足我的需要。我想要的规则是匹配单词边界之间的任何字符串,这些字符串要么是所有数字,要么是数字和字符混合,但绝不只是字符。
最佳答案
这应该这样做:
\b[a-zA-Z0-9-]*\d[a-zA-Z0-9-]*\b
如果您需要将长度限制为最大 32,请添加前瞻:
\b(?=[a-zA-Z0-9-]{1,32}\b)[a-zA-Z0-9-]*\d[a-zA-Z0-9-]*\b
如果下划线也可以,可以使用
[\w-]
而不是 [a-zA-Z0-9-]
.
关于用于查找带有字符和数字的字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56012621/