我有正则表达式匹配模式的问题,也限制字符的数量:
例如,我允许使用数字前缀: 2, 31, 32, 35, 37, 38, 39, 41, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
然后我只想要数字和整数的最大长度等于9.所以例如数字如: 255555555
将是好的但 31555555555555555
将不会 .
这是我试图解决这个问题,但它不能正常工作:
^( (2|31|32|35|37|38|39|41|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60)+[0-9]* ){9}$
3 回答
您可以先测试长度,然后测试前缀 .
使用正向前瞻来限制(但不匹配)前缀,然后恰好匹配9位数:
您可以使用此正则表达式:
这是 live example .
如果您不是通过某个地方的数字生成此正则表达式,则可以将其减少为:
这是 live example .