正则表达式没有正确匹配数字

时间:2013-06-14 12:49:30

标签: c# regex

我有以下正则表达式:(\ d {14})十进制,匹配14个字符的长数。问题是它也匹配数字,长度为16个字符。如果字符串的开头或结尾没有数字,我需要添加一个匹配的条件。

所以例如112222222222222233不会是我想要的匹配,但xx22222222222222xx将匹配我需要。

2 个答案:

答案 0 :(得分:5)

使用字边界\b

\b\d{14}\b

答案 1 :(得分:1)

M42的答案适用于数字由空格或其他字分隔符分隔的情况。但是如果你想匹配一个包含非数字的单词中的数字(比如你​​的例子xx22222222222222xx),那么这样的事情应该有效:

(^|[^\d])\d{14}([^\d]|$)