Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下正则表达式: (\d{14}) 十进制匹配 14 个字符长的数字。问题是它也匹配 16 个字符长的数字。如果 string 的开头或结尾没有数字,我需要添加一个条件来匹配。
因此,例如 112222222222222233 不会是我想要的匹配,但 xx22222222222222xx 将是我需要的匹配。
使用单词边界\b
\b
\b\d{14}\b
M42 的答案适用于数字由空格或其他单词分隔符分隔的情况。但是,如果您想匹配包含非数字的单词中的数字(例如您的示例xx22222222222222xx),则应该使用以下方法:
xx22222222222222xx
(^|[^\d])\d{14}([^\d]|$)