Golang 的正则表达式语法基于 RE2 语法,主要包括以下内容:

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

Golang 正则表达式的使用需要导入 "regexp" 包,具体的用法可以参考官方文档。