今天抽了点时间终于把正则表达式的东西学习了一下,做以总结
简单常用的有,以下四张图:
1.用于匹配单个字符
表示单个字符的表达式
2.用于匹配单个字符
通常放在单个字符表达式后面,可以理解为,控制前面的单个字符能改出现的次数:
3.边界匹配
可以控制字符串的边界,如:开头到结尾限制,匹配开头,匹配结尾
4.分组匹配
下面写几个小例子练练手:
1.手机号码正则表达式匹配,以电信手机号为例,
特点:
(1)11位
(2)以1开头
正则表达式:
[1][0-9]{10}
//第一个是匹配1,然后匹配0-9,10次
2.身份证号,
(1)18位,开头不为0(假设开头不为0)
(2)最后 以为可能是X,其他均为数字(不太确定)
正则表达式:
[1-9][0-9]{16}([0-9]|X)
//可以使用(A|B)表示A表达式或者B表达式
3.163或者QQ邮箱
形如:dmxy@163.com/1725244828@qq.com
特点以 @(一组特定的字符).com结尾
[\w]+@(163|qq).com$'
4.XML简单解析
<book>book1</book>
正则表达式:
方式一:
<([\w]+)>[\w]+<\1>
//切记前面的一定要加括号形成元组,然后后面\1就可以调用前面元组中的值,当然也可以通过groups()查看元组内容
方式二:
<(?P<name>[\w]+)>[\w]+<(?P=name)>
//起个名字仅此而已
本文介绍了正则表达式的常用模式,并提供了手机号码、身份证号、邮箱及XML解析等实例,帮助读者掌握正则表达式的实际应用。
502

被折叠的 条评论
为什么被折叠?



