0

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

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

4

2 回答 2

5

使用单词边界\b

\b\d{14}\b
于 2013-06-14T12:50:19.407 回答
1

M42 的答案适用于数字由空格或其他单词分隔符分隔的情况。但是,如果您想匹配包含非数字的单词中的数字(例如您的示例xx22222222222222xx),则应该使用以下方法:

(^|[^\d])\d{14}([^\d]|$)
于 2013-06-14T12:54:43.820 回答