前段时间做项目使用C#写界面,在对界面输入框中的数字进行数据有效性检查时用到了正则表达式匹配,在网上搜索了几篇比较有价值的博客,受益匪浅现在记录下来作为以后的笔记,也希望能帮到对正则表达式还不是很懂的新手朋友们。
符号解释
^ 匹配输入字符串的开始位置。在一个表示中可以出现多次
$ 匹配输入字符串结束的位置。在一个表示中可以出现多次
? 匹配前面的表达式0次或一次
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
{n}
n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 “Bob” 中的 ’o’,但是能匹配 “food” 中的两个 o。
{n,}
n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 “Bob” 中的 ’o’,但能匹配 “foooood” 中的所有 o。’o{1,}’ 等价于 ’o+’。’o{0,}’ 则等价于 ’o*’。
{n,m}
m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,”o{1,3}” 将匹配 “fooooood” 中的前三个 o。’o{0,1}’ 等价于 ’o?’。请注意在逗号和两个数之间不能有空格。
\d 匹配0-9的数字,等价于[0-9]
x|y 匹配 x 或 y。例如,’z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 则匹配 “zood” 或 “food”。
[xyz] 字符集合。匹配所包含的任意一个字符。例如, ’[abc]’ 可以匹配 “plain” 中的 ’a’。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, ’[