正则表达式基础

modaiairen 2020-06-28

1. 元字符

".":匹配除换行符之外的任意字符

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

"$":匹配行或字符串的结尾

"\s":匹配任意的空白符(包括制表符,空格,换行等)

"\b":常用于匹配单词边界,如匹配”What‘s your name?“的your就要写成"\byour\b"

"\d":匹配数字,例如匹配三位数字123就要写成"\d\d\d"

"\w":匹配字母,数字,下划线

2. 反义元字符

"\D":匹配任意非数字字符,等价于[^0-9]

"\W":匹配除字母,数字,下划线外的任意字符

"\S":匹配非空白的任意字符

"\B":匹配非单词开始或结束位置

"[^x]":匹配除了x以外任意字符

3. 重复限定符

"*":x>=0

"+":x>=1

"?":x=0 or x=1

"{n}":x=n

"{n,}":x>=n

"{n,m}":n<=x<=m

4. 字符组

[xyz]匹配字符x,y或z.如果中括号内包含元字符,则元字符降级为普通字符,即[+.?]匹配加号,点号或问号。

5. 排除性字符组

[^xyz]匹配除了x,y或z以外的任意字符

6. 多选结构

a|b就是或的意思,表示a,b两者中的一个

7. 分组(括号)

括号常用来界定重复限定符的范围, 以及将字符分组(ab)+可以匹配ab、abab、ababab等

8. 转义字符

通常 \ * + | { [ ( ) ] } ^ $ . # 和 空白 这些字符都需要转义,使用\进行标识转义

9. 操作符的运算优先级
  1. \ 转义字符
  2. (), [] 圆括号或方括号
  3. *, +, ?, {n}, {n,}, {n,m} 限定符
  4. ^, $ 位置
  5. | 操作

摘自:路易斯的文章

相关推荐