读书人

C中的正则表达式婚配带或不带符号的数

发布时间: 2012-09-09 09:27:54 作者: rapoo

C中的正则表达式匹配带或不带符号的数值字符
使用
^[A-Z0-9-]{1,10}$
这个正则表达式可以匹配1-10个包含A-Z或0-9或-的字符

那对于:
0
123456
-123456
+123456
这样,最大7位,第一位可以有符号,也可以没有符号的情况如何写呢?

^[0-9-+]{1,7}$
这样的话不能保证符号位-或+必须在第一位啊?

谢谢!

[解决办法]
^(\d{1,7}|[+-]{1}\d{1,6})$

[解决办法]
推荐使用regtest软件。
[解决办法]
自己试试不就知道了。

^(\d{1,7}|[+-]{1}\d{1,6})$
\d{1,7} // 有1到7个数字
或者
[+-]{1}\d{1,6} // 有1个正负号然后1到6个数字,总数不超过7个字符

^[-+]{0,1}[0-9]{1,6}$ // 正负号可选,没有的时候最多6个字符,有的时候最多7个字符

[解决办法]
试了下[-+]{0,1}[0-9]{1,6}能查找一行里面的所有串

读书人网 >C语言

热点推荐