正则表达式练习
一、正则表达式练习工具:
可下载使用该工具:http://download.csdn.net/download/lyhdream/10132810
或者在线练习:
http://tool.oschina.net/regex/
https://tool.lu/regex/
https://regexr.com/
参考地址:
http://blog.jobbole.com/63398/
正则表达式教程:
http://deerchao.net/tutorials/regex/regex.htm
二、常用正则表达式字符
常用元字符
常用限定符
常用反义词
三、正则表达式练习题正则表达式中包含了一系列的字符,这些字符只能匹配它们本身。有一些被称为“元字符”的特殊字符,可以匹配一些特殊规则。 1、普通字符的练习cat 匹配 cat dog 匹配 dog 2、点“.”字符的使用【“.”字符匹配任意一个字符】字符类: c.t 可匹配cat、cot ,cmt ,czt 等等 使用反斜杠,忽略元字符,例如: c.t只能匹配 c.t ct只能匹配ct 3、方括号的使用“[]”[abcd] 可匹配a,b,c,d中的任意一个字符,例如 c[abc]t 可匹配 cat,cbt,cct 方括号中的字母顺序并不重要,例如:[abc]等同于[bca]
使用反斜杠忽略元字符“”: c[t只能匹配c[t 字符范围: [b-f]等同于[bcdef] [A-Z]等同于[ABCDEFGHIJKLMNOPQRSTUVWXYZ] 练习: 【我们要匹配:hh-mm-ss 这种格式的时间,如下:】 [0-2][0-9]-[0-5][0-9]-[0-5][0-9] 【我们要匹配:YYYY-MM-DD这样的年-月-日格式,如下:】 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] 字符的反义: [^a]匹配任何不是a的字符 [^a-zA-Z0-9]匹配任何不适数组也不是字母的字符 [^abc]可以匹配:^,a,b,c中的任意一个字符 [^^]表示匹配任意不为 ^的字符 练习: 【找到一个at之前没有c的单词,即不适cat的单词】 [^c]at 4、转义字符: d匹配任意一个数字,相当于[0-9] w 匹配一个数字或字符,相当于[0-9a-zA-Z] D 匹配一个非数字,相当于[^0-9] W 匹配一个非数字或字母,相当于[^0-9a-zA-Z] 练习: 【简化:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]的写法:】 dddd-dd-dd 5、重复字符“{}”,使用大括号:a{3} 表示字符串aaa ,即a重复3次的意思 a{2}表示字符串a{2} [{}]表示匹配一个左边的大括号或右边的大括号 练习: 【简化下面的表达式: z.......z dddd-dd-dd [aeiou][aeiou][aeiou][aeiou][aeiou][aeiou] 】 答案: 【 z.{7}z d{4}-d{2}-d{2} [aeiou]{6} [bcdfghjklmnpqrstvwxyz]{10} 】 指定重复范围: a{4,4} 相当于a{4} colou{0,1}r 可表示colour或color a{3,5}可表示 :aaaaa,aaaa,aaa a{1,}表示匹配一个或以上的连续字符a ,相当于: a+ .{0,}表示匹配任意字符,相当于: .* 练习: 【匹配双引号之间的任意字符,包含前后的双引号:】 ".{0,}"也可以使用 ".*" 关于重复的转义字符: ?表示重复0次货一次,相当于: {0,1} *表示重复0次货多次,相当于: {0,} +表示重复1次或多次,相当于: {1,} ?*+ 表示匹配 ?*+ {?*+}表示匹配一个?*或+ 练习: 【简化下面的表达式: ".{0,}" and "[^"]{0,}" 】 答案: 【 “.*"and"[^"]* x{0,3} y* z{4,} 】 7、选择匹配“|”,竖线
cat|dog表示匹配cat或者dog
a|b|c 相当于 [abc]
cat|dog||表示匹配cat dog 或者 |
[cat|dog]表示匹配c a t d o g 或者 |
练习:
【简化下面表达式:
s|t|u|v|w
aa|ab|ba|bb [abc]|[^abc] [^ab]|[^bc] [ab][ab][ab]?[ab]?
】
答案:
【
[stuvw]
[ab]{2}
.
[^b]
[ab]{2,4}
】
使用真正表达式匹配0到31之间的数:
[0-9]|[12][0-9]|3[01]
8、分组“()”,使用括号
(Mon|Tues|Wednes|Thurs|Fri|Satur|Sun)day 表示一周的某一天
(white|yellow|grew|black)cat 表示4种颜色的猫的任意一种
() 表示一对括号
[()]表示正括号或者反括号
9、单词分割符 b
在单词和单词之间有单词分隔符,文本的开头和结尾通常有单词分割符
bwwwb 表示一个3个字母的单词
10、换行
^ 表示行的开始
$ 表示行的结束
^$ 表示一个空行
^.*$ 表示整行
^$ 表示匹配 ^或 $
[$] 表示匹配 $
[^]不和法,应该写为 [^] ,表示匹配一个^
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |