正则表达式以匹配字符串中确切数目的字符

时间:2018-10-17 22:02:48

标签: regex coldfusion

我正在尝试匹配9位整数。我正在扫描的文本长度可以为1-200个字符。

我遇到的麻烦是,如果输入的数字序列长于9,我不想匹配。如果整个输入字符串是9位,我也需要匹配。或者以9位数字开头或结尾。

我尝试过:

d{9}      >  This matches sub-strings longer than 9 digits
d{9}(\D)  >  This works unless the sub-string is at the end since this expects some character after the 9 digits.

我进行了很多搜索,但没有找到确切的问题。有什么想法吗?

注意:我碰巧正在与ColdFusion一起解决此特定问题,但我希望一般的正则表达式可以解决问题。如有必要,我可以在CFML中进行编码。

1 个答案:

答案 0 :(得分:0)

使用其他方式匹配字符串的非数字或开头/结尾:

(^|\D)\d{9}($|\D)