我有以下正则表达式:(\ d {14})十进制,匹配14个字符的长数。问题是它也匹配数字,长度为16个字符。如果字符串的开头或结尾没有数字,我需要添加一个匹配的条件。
所以例如112222222222222233不会是我想要的匹配,但xx22222222222222xx将匹配我需要。
答案 0 :(得分:5)
使用字边界\b
\b\d{14}\b
答案 1 :(得分:1)
M42的答案适用于数字由空格或其他字分隔符分隔的情况。但是如果你想匹配一个包含非数字的单词中的数字(比如你的例子xx22222222222222xx
),那么这样的事情应该有效:
(^|[^\d])\d{14}([^\d]|$)