1.正则表达式匹配匹配结果,只包括匹配上的部分,不包括整个字符串,
如果需要把整个字符串传递到后续处理时,需要注意。
2.字符点(.)可以匹配任何一个字符,可以在正则表达式中多次出现。
3.[]中的字符,代表字符集,如[ns]将匹配n或者s字符
4.^符号,代表取非操作
5.\b 回退符 \f 换页符 \n 换行符 \r 回车符 \t 制表符(TAB) \v 垂直制表符
6.\d 任何一个数字,\D 任何一个非数字
7.\w 任何一个字母,数字字符,\W 任何一个非字母,非数字字符
8.\s 任何一个空白字符,\S 任何一个非空白字符
9.{}中的哦数字,代表匹配的重复次数
10.{2,4}的含义最少重复2次,最多重复4次
11.?代表出现0次或1次
12.*,+号等匹配时默认都是贪婪型元素符,如
测试文字:<b>hello</b><b>world</b>
采用此正则<[Bb]>.*</[Bb]>匹配时,会从头匹配到结尾,结果是
<b>hello</b><b>world</b>
但我们不需要这种贪婪型匹配时,需要加载*号,将其变成懒惰型,改成
<[Bb]>.*?</[Bb]>,此时的匹配结果如下:
【匹配结果:2】
(1)<b>hello</b>
(2)<b>world</b>
13.位置匹配
\b 单词边界,如\bcat\b,将在文本中只匹配cat单词
^匹配字符串开头
$匹配字符串结尾
(?m) 表示分行匹配模式,^和$可以匹配每一行的开始和结尾
14.子表达式,子表达式用()括起来即可
15.回溯引用 \1 代表在正则中出现的第一个表达式
16.替换中使用$1表示正则中的第一个表达式、
17.前后查找,?=表示向前查找,只找到对应值,但不出现到匹配结果里; ?<= 表示向后查找