1、基本的元字符
元字符说明.匹配任意单个字符|逻辑或操作符[ ]匹配字符集合中的一个字符,里面的元字符当做普通字符[^]对字符集合求非-定义一个区间(例如[A-Z])\对下一个字符转义2、数量元字符
元字符说明*匹配前一个字符(子表达式)的零次或多次重复,等价于{0,}*?*的懒惰型版本+匹配前一个字符(子表达式)的一次或多次重复,等价于{1,}+?+的懒惰型版本?匹配前一个字符(子表达式)的零次或一次重复,等价于{0,1}{n}匹配前一个字符(子表达式)的n次重复{m,n}匹配前一个字符(子表达式)至少m次,且至多n次重复{n, }匹配前一个字符(子表达式)n次或更多次重复{n, }?{n, }的懒惰型版本3、位置元字符
元字符说明^匹配字符串的开头\A匹配字符串的开头$匹配字符串的结束\Z匹配字符串的结束\<匹配单词的开头\>匹配单词的结束\b匹配单词边界(开头和结束),单词被定义为 Unidcode 的字母数字或下横线字符\B\b的反义,匹配非单词边界
4、特殊字符元字符
元字符说明[\b]退格字符\c匹配一个控制字符\d匹配任意数字字符\D\d的反义\f换页符\n换行符\r回车符\s匹配一个空白字符,包括 [ \t\n\r\f\v] 以及其他空白字符\S\s的反义\t
制表符(Tab字符)\v垂直制表符\w匹配任意字母数字字符或下划线字符\W\w的反义\x匹配一个十六进制数字\0匹配一个八进制数字,由反斜杠后面三位数字表示(必须三位,不够用0补位)5、回溯引用和前后查找
元字符说明( )定义一个子表达式\1匹配第1个子表达式:\2代表第2个表达式,以此类推。数字范围是1-99
如果序号是以 0 开头,或者 3 个数字的长度。那么不会被用于引用对应的子组,而是用于匹配八进制数字所表示的 ASCII 码值对应的字符
?=向前查找?<=向后查找?!负向前查找?<!负向后查找?( )条件(if then)?( )|条件(if then else)6、大小写转换
元字符说明\E结束\L或\U转换\l把下一个字符转换成小写\L把后面的字符转换成小写,直到遇见\E为止\u把下一个字符转换成大写\U把后面的字符转换成大写,直到遇见\E为止7、匹配模式
元字符说明(?m)分行匹配模式摘自《正则表达式必知必会》