Golang 的正则表达式语法基于 RE2 语法,主要包括以下内容:
- 字符类:用方括号 [] 表示,表示匹配其中任意一个字符。例如 [abc] 匹配 a 或 b 或 c。
- 元字符:
- . :匹配任意一个字符,除了换行符。
- ^ :匹配文本的开头。
- $ :匹配文本的结尾。
- :匹配前面的字符零次或多次。
- :匹配前面的字符一次或多次。
- ? :匹配前面的字符零次或一次。
- {n}:匹配前面的字符恰好 n 次。
- {n,m}:匹配前面的字符至少 n 次,至多 m 次。
- [...]:字符类,匹配其中任意一个字符。
- [^...]:否定字符类,不匹配其中任何一个字符。
- (ab):组合,匹配 ab 序列。
- | :或运算符,匹配左右两侧任意一个表达式。
- 转义字符:使用反斜杠 \ 表示需要转义的字符。例如 \d 表示数字字符,\s 表示空白字符。
- 预定义字符集:
- \d :数字字符。
- \D :非数字字符。
- \s :空白字符,包括空格、制表符、换页符等。
- \S :非空白字符。
- \w :单词字符,包括字母、数字和下划线。
- \W :非单词字符。
- 修饰符:
- i :忽略大小写匹配。
- m :多行匹配。
- s :允许 . 匹配换行符。
- U :关闭贪婪模式。
Golang 正则表达式的使用需要导入 "regexp" 包,具体的用法可以参考官方文档。