正则表达式学习笔记(常用的)

今天抽了点时间终于把正则表达式的东西学习了一下,做以总结

简单常用的有,以下四张图:


1.用于匹配单个字符
表示单个字符的表达式

正则表达式学习笔记(常用的)_第1张图片

2.用于匹配单个字符
通常放在单个字符表达式后面,可以理解为,控制前面的单个字符能改出现的次数:

正则表达式学习笔记(常用的)_第2张图片


3.边界匹配
可以控制字符串的边界,如:开头到结尾限制,匹配开头,匹配结尾

正则表达式学习笔记(常用的)_第3张图片


4.分组匹配
正则表达式学习笔记(常用的)_第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邮箱
形如:[email protected]/[email protected]

特点以 @(一组特定的字符).com结尾

[\w]+@(163|qq).com$'

4.XML简单解析

<book>book1book>
正则表达式:

方式一:
    <([\w]+)>[\w]+<\1>
    //切记前面的一定要加括号形成元组,然后后面\1就可以调用前面元组中的值,当然也可以通过groups()查看元组内容

方式二:
    <(?P<name>[\w]+)>[\w]+<(?P=name)>
    //起个名字仅此而已

你可能感兴趣的:(正则表达式学习笔记(常用的))