(1)\b:元字符,代表着单词的开头或结尾 (\bhi\b)
(2),.是另一个元字符,匹配除了换行符以外的任意字符(\bhi\b.*\bhob\b) 这个时候的*代表数量
(3)\d是个新的元字符,匹配一位数字(0\d\d\d-\d\d\d\d\d或0\d{2}-\d{5}){重复次数}
(4)\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
(5)\w匹配字母或数字或下划线或汉字等(\ba\w*\b)
(6)\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次,?重复零次或一次()
(7)元字符^匹配字符串的开始和$都匹配字符串的结束(^\d{5,12}$)
(8)想查找元字符本身的话,用转义符\(\*\.\,\\)
(9)[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)
(10)[0-9]代表的含意与\d就是完全一致,同理[a-z0-9A-Z_]也完全等同于\w
(11)分枝条件‘|’,意思就是或。(例:0\d{2}-\d{8}|0\d{3}-\d{7} \(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8})
(12)分组'()':表示整体(例子:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))
\W:匹配任意不是字母,数字,下划线,汉字的字符
\S:匹配任意不是空白符的字符
\D:匹配任意非数字的字符
\B:匹配不是单词开头或结束的位置
[^x]:匹配除了x以外的任意字符
[^aeiou]:匹配除了aeiou这几个字母以外的任意字符
(14)后向引用用于重复搜索前面某个分组匹配的文本(\b(\w+)\b\s+\1\b:(\b(\w+)\b),这个单词会被捕获到编号为1的分组中,最后那个\1重新又匹配一次)
(15)负向零宽断言;\b\w*q(?!u)\w*\b
(16)小括号的另一种用途是通过语法(?#comment)来包含注释。例如:2[0-4]\d(?#200-249)|25[0-5](?#250-255)|[01]?\d\d?(?#0-199)。
(17)贪婪匹配:a.*b搜索到aabab,懒惰匹配:a.*?b搜索到aab