码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2017-10-06 13:54:02      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:优先   开头   组成   必须   输入   十六   中间   字符串   意思   

元字符

第一种是:   .:匹配除\n之外的任何单个字符。

第二种是:    [ ] :匹配括号中的任何一个字符。 如果要想匹配二十六个英文字母中的任意一个怎么写呢? a[a-z]b  如果也想匹配大写的A—Z的话,需要这么写 a[a-zA-Z]b

第三种是:    | :将两个匹配条件进行逻辑“或”运算。 如a[a|b]b   z|food 要么是z,要么是food   (z|f)ood 加小括号改变优先级

第四种是:    ( ) :将 () 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。把一些字符表示为一个整体。改变优先级、定义提取组两个作用。

 

元字符2(限定符):

第一种是:    *:匹配0至多个在它之前的子表达式,和通配符*没关系。 如 zoo* ,*表示可以出现0次,也可以出现多次。(可有可无,可多可少)

第二种是:    + :匹配前面的子表达式一次或多次  如zoo+  ,+表示可以出现一次,或者是多次。(至少得出现一次。)  注意:*  +只表示o的出现次数,要是想表示前面的整个表达式,得用小括号括起来。

第三种是:    ? :匹配前面的子表达式零次或一次。  如zoo? ,要么0次,要么1次。

第四种是:    {n} :匹配确定的 n 次。

第五种是:    {n,m} :最少匹配 n 次且最多匹配 m 次。

 

元字符3

第一种是:    ^(shift+6) :匹配一行的开始。如^xxx.   表示字符串必须以三个先开头,后面跟任意的单个字符。

它还有一个意思就是取反的意思,如 a[^a-zA-Z0-9]b  表示中间去大小写字符和数字都不行。

第二种是:    $ :匹配行结束符。    如xxx.$  表示结尾必须以xxx加任意字符结束。

 

接下来我们再看一些个元字符(一些简写的方式):

第一种是:    \d:代表一个数字,等同于[0-9]   如a[0-9]b   a\db

第二种是:    \D:代表非数字,等同于[^0-9]

第三种是:    \s:代表换行符、Tab制表符等空白字符 ,(空格、回车、制表符)

第四种是:    \S:代表非空白字符(a0%$@@)

第五种是:    \w:匹配字母或数字或下划线或汉字,即能组成单词的字符,除%&#@!$等字符。[a-zA-Z0-9_汉字]

第六种是:    \W:非\w ,等同于[^\w] %

需要注意的地方:当放在C#中时,需要在它们之前加个\

列如:

邮箱;@"^\d{6}$"   加了^和$表示完全匹配

用户输入的验证字符:"^[10~20]$"

身份证号码:@"^((\6{15})|(\d{14}[xX])|(\d{18}))$"

ip地址:@"^(\d{1,3}\.){3}\d{1,3}$"

手机号码:/^1[3578]\d{9}$/

正则表达式

标签:优先   开头   组成   必须   输入   十六   中间   字符串   意思   

原文地址:http://www.cnblogs.com/wen936/p/7631426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!