1、点号:’.’
匹配除了换行符之外的任意字符
2、模式修饰符:匹配包括换行符在内的任意字符 (?s)’.’
3、定位符:
^ (\A) :字符串开始的位置
$ (\Z \z) :字符串结束的位置
注:\Z 与 \z 的区别 当目标文本的最后一个字符是换行符的时候
\z: 如果目标文本存在一个多余换行符的话,它就无法匹配。
4、单词边界:\b
My cat is brown 匹配cat,但不匹配如category或bobcat。
\bcat\b :匹配单词cat
5、非单词边界:\B
staccato 和 bobcat ------ \Bcat 匹配出 cat
category ---------- ------ cat\B 匹配出 cat
6、匹配时间:\b(\d\d\d\d)-(\d\d)-(\d\d)\b
匹配任意时间yyyy-mm-dd ,不需要考虑9999-99-99
7、圆括号分组 ( ),不仅仅是表示分组,还是一个捕获分组,正则表达式会把捕获分组匹配到的子串存储起来。
(\d\d\d\d)-(\d\d)-(\d\d) 拥有三个捕获分组,表示 (\d\d\d\d)是1号分组,(\d\d)是2号分组,(\d\d)是3号分组
8、重复分组 (?:abc){3} 和 abcabcabc 是一样的。