元字符:
. 表示除\n以外的任意的单个字符
[] 表示在字符组中罗列出来的字符,任意取单个。a[xyz]b可以是axb
| 表示“或”的意思。“或”的优先级最低。z|food 表示z或者food
() 表示“改变优先级”或者表示“提取组”。
* 表示限定前面的表达式出现0次或者多次。a.*b可以是ab,可以是axxxxb
+ 表示一次或多次。至少得出现一次。
? 表示可出现0次或者1次。 ?的另一个意思是终止贪婪模式
{8} 表示前面表达式必须出现8次
{8,} 表示前面表达式至少出现8次
{8,9} 表示前面表达式出现8次至9次
^hello 表示以^hello开头
a$ 表示以a$结尾
[^x] 表示非,除x外的字符
\d 表示0~9的一个数字,包括全角状态下
\D 表示补集
\w 表示[a-zA-Z0-9_]和汉字
\W 表示补集
\s 表示所有不可见字符,比如\r\n
\S 表示补集
\b 匹配单词的开始或结束
\B 匹配非单词的开始或结束
\A 指定匹配必须出现在字符串的开头(忽略 Multiline 选项)
\z 指定匹配必须出现在字符串的结尾(忽略 Multiline 选项)
\z 指定匹配必须出现在字符串的结尾或字符串结尾处的 \n 之前(忽略 Multiline 选项)。
\G 指定匹配必须出现在上一个匹配结束的地方。与 Match.NextMatch() 一起使用时,此断言确保所有匹配都是连续的