正则表达式用于检查字符串中的数字

时间:2014-11-28 06:07:24

标签: c# regex

我正在寻找有关正则表达式的帮助,用于检查可能包含由其他字符或字母分隔的10位数的字符串。例如

call1234567890 
1234567890call
12.34_567.890_call

我按照其他帖子的建议尝试了\D*(\d\D*){10}$,但这与任何包含数字的字符串相匹配,即使1和1之后的字符也是如此。 Silly_1_me也被抓获

2 个答案:

答案 0 :(得分:0)

您必须包含起始锚^,以便它可以进行精确的行匹配,否则,它会进行部分字符串匹配。

@"^\D*(\d\D*){10}$"

DEMO

对于多行输入,最好使用下面的正则表达式。

@"^[^\n\d]*(\d[^\n\d]*){10}$"

答案 1 :(得分:0)

^(?!(?:.*\d){11,})(?:.*\d){10}[^\d]*$

试试这个。看看演示。

http://regex101.com/r/hQ9xT1/21