我需要一个正则表达式,至少有9个数字,最多9个数字。但这些数字可以用空格或减号分隔 以下是一些带有true或false的示例字符串,以显示我想要的内容:
11-222-3333 true
11 222 3333 true
112223333 true
112-23-4567 true
11223333 false
11 22333333 false
1122333333 false
我目前使用此正则表达式:^[0-9\s\-]{9,11}$
但如果字符串中没有空格或缩写,则允许超过9个数字。
我想要至少9个号码,最多9个号码。所以我需要忽略字符计数中的空格和缺点,但我无法找到。有人知道这样做的正确方法吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用这个基于前瞻性的正则表达式:
\b(?=(?:[ -]?\d){9}\b)[\d -]+\d\b
(?=(?:[ -]?\d){9}\b)
是一个积极的先行断言,以确保在每个数字前有9个数字,可选空格或连字符。