日期:2014-05-18  浏览次数:20418 次

最近看正则表达式的问题也比较多,本人刚好在学。。整理了些基础的关于正则的给大家分享!!!
.   是另一个元字符,匹配除了换行符以外的任意字符
*   同样是元字符,不过它代表的不是字符,也不是位置,而是数量。它指定*前边的内容可以连续重复出现任意次以使整个表

达式得到匹配
\d是一个新的元字符,匹配任意的数字(0,或1,或2,或……)。-不是元字符,只匹配它本身——连字号
那么多烦人的重复,我们也可以这样写这个表达式:0\d{2}-\d{8}。   这里\d后面的{2}({8})的意思是前面\d必须连续重复匹

配2次(8次)。
\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。
\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或

更多次。^   匹配字符串的开始  

$   匹配字符串的结束  

元字符^(和数字6在同一个键位上的符号)以及$和\b有点类似,都匹配一个位置。^匹配你要用来查找的字符串的开头,$匹

配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用

:^\d{5,12}$。这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不

能少于5次,不能多于12次,否则都不匹配。注意:因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也

就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。


字符转义
如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没法指定它们,因为它们会被解释成其它的意思。这

时你就必须使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.

例如:www\.unibetter\.com匹配www.unibetter.com,c:\\Windows匹配c:\Windows。
*   重复零次或更多次  
+   重复一次或更多次  
?   重复零次或一次  
{n}   重复n次  
{n,}   重复n次或更多次  
{n,m}   重复n到m次  
下面是一些使用重复的例子:

Windows\d+匹配Windows后面跟1个或更多数字

13\d{9}匹配13后面跟9个数字(中国的手机号)

^\w+匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项RegexOption设置)

------解决方案--------------------
支持一下