一、什么是正则表达式
用某种模式去匹配一类字符串的一个公式
二、正则表达式基础:由一些普通字符和一些元字符组成
1.匹配任何单个字符:.
r.t :可以匹配rat、rut、r t,但不能匹配root
2.匹配行结束符:$
weasel$:能够匹配"He's a weasel"的末尾,但不能匹配"They are a bunch of weasels."
3.匹配一行的开始:^
^When in:能够匹配"When in the course of human events"的开始,但不能匹配"What and When in the "
4.匹配0或多个正好在它之前的那个字符:*
.* :能够匹配任意数量的任何字符
5.应用符,用来将元字符当中普通字符来进行匹配:/
/$ :用来匹配美元符号
/. :用来匹配点字符
6.匹配括号中的任何字符:[] [c1-c2] [^c1-c2]
r[aou]t :可以匹配rat、rot、rut,不可配ret
[0-9]:可以匹配任何数字字符
[A-Za-Z] :可以匹配任何大小写字母,-用来制定区间
[^269A-Z] :排除用法,将匹配除2、6、9和所有大写字符的任何字符。
7.匹配词word的开始/< 和结束 />:/< />
8.将/( 和 /)之间的表达式定义为group
9.将两个匹配条件进行逻辑|运算: |
him | her :匹配 it belongs to him和is belongs to her,但不能匹配it belongs to them
10.匹配1或多个正好在它之前的那个字符:+
9+ : 匹配9、99、999
11.匹配0或1各正好在它之前的那个字符: ? 注意:这个元字符不是所有的软件都支持的。
12.匹配指定数目的字符:/{i/} /{i,j/}
A[0-9]/{3/}:能够匹配字符A后面正好跟着3个数字字符的串,如A123 、A348,不能匹配A1234
[0-9]/{4,6/}:匹配任意4个、5个或6个数字字符
13.常用正则
匹配中文字符:[/u4e00-/u9fa5]
匹配双字节字符(包含汉字在内):[^/x00-/xff]
匹配空白行:/n/s*/r ,可以用来删除空白行
匹配HTML标记:<(/s*?)[^>]*>.*?</>|<.*?/>
匹配首尾空的字符:^/s*|/s*$ 用来删除收尾空白字符,包括空白格、制表符、换页符等。
匹配Email地址: ./w.+([-.+.]./w.+)*.@/w+([-.]/w.+)*/./w+([-.]/w+)*
关于正则的博文:https://blog.csdn.net/weixin_44259720/article/details/88637519