正则表达式必知必会笔记

来源:互联网 发布:淘宝详情页ps模板 编辑:程序博客网 时间:2024/06/06 01:38

测试正则表达式网址

http://rubular.com/

元字符:

“^”:匹配行或者字符串的起始位置

**”"会匹配行或字符串的结尾

“\b”:不会消耗任何字符只匹配一个位置,常用于匹配单词边界 “\bis\b”

“\d”: 匹配数字

“\w”:匹配字母,数字,下划线.

“\s”:匹配空格

“[abc]”: 字符组 匹配包含括号内元素的字符

“x|y” 匹配 x 或 y

“[xyz]” 匹配所包含的任意一个字符

“[a-z]” 字符范围。

“\num” 匹配 num,其中 num 是一个正整数。

空白元字符:

“\t” 匹配一个制表符

\f 换页符

\r 回车

\v 垂直制表符

\n 换行符

组合

\r\n “回车加换行”

匹配十六进制或十八进制:

十六:

\x0A 对应ASCII字符10 等价于\n

\011 对应ASCII字符9 等价于\t

*POSIX字符类

几种反义

“\W” 匹配任意不是字母,数字,下划线 的字符

“\S” 匹配任意不是空白符的字符

“\D” 匹配任意非数字的字符

“\B” 匹配不是单词开头或结束的位置

“[^abc]” 匹配除了abc以外的任意字符

量词

“*” 重复零次或更多

“+” 重复一次或更多次 匹配电子邮箱([\w.]+@[\w.]+.\w+)

“?” 重复零次或一次

“{n}” 重复n次

“{n,m}” 重复n到m次

“{n,}” 重复n次或更多次

懒惰限定符

“*?” 重复任意次,但尽可能少重复

“[量词]? 重复XX次,但尽可能少重复

运算符优先级

\ (转义符) >

(), (?:), (?=), [] >

*, +, ?, {n}, {n,}, {n,m}(限定符) >

^, $, \任何元字符、任何字符 >

|

字符簇

[a-z] //匹配所有的小写字母

[A-Z] //匹配所有的大写字母

[a-zA-Z] //匹配所有的字母

[0-9] //匹配所有的数字

[0-9.-] //匹配所有的数字,句号和减号

[ \f\r\t\n] //匹配所有的白字符

正则表达式-前后查找 #

向前查找:

文本 \http://www.baidu.com

正则表达式 .+(?=:)

匹配结果 \http://www.baidu.com

向后查找

文本 d23.90 d12.32 d12.34 33.33

正则表达式 (?<=d)[0-9.]+

匹配结果 **
** 33.33

注意:向前查找模式的长度是可变的,它们可以包含.、、+之类的元字符;而向后查找模式只能是固定长度,不能包含.、、+之类的元字符。

这句话的意思是值:(?<=t+)这种就是非法的!,而(?=t+)是合法的。

(?!) 负向前查找

文本 the book cost and the phone cost 1000 2d

正则表达式\d+(?!d)

匹配结果the book cost and the phone cost 1000 2d

(?<!d)负向后查找

文本 the d2 wow 30

正则表达式 (?<!d)\d+

匹配结果 the d2 wow 30

向前查找向后查找混合使用

文本(title)ben hah wowo(/title)

正则表达式 (?<=(title)).*(?=(/title))

匹配结果 (title)ben hah wowo(/title)

原创粉丝点击