Go正则表达式基本使用方法

【用法】

复合:

重复:

分组:

可以设置的标记有:

位置标记:

转义序列:

可以将“命名字符类”作为“字符类”的元素:

【说明】

“字符类”取值如下(“字符类”包含“Perl类”、“ASCII类”、“Unicode类”): x 单个字符 A-Z 字符范围(包含首尾字符) \小写字母 Perl类 [:ASCII类名:] ASCII类 \p{Unicode脚本类名} Unicode类 (脚本类) \pUnicode普通类名 Unicode类 (普通类)

“Perl 类”取值如下:

“ASCII 类”取值如下

“Unicode 类”取值如下—普通类:

“Unicode 类”取值如下—脚本类:

【注意】

  对于 [a-z] 这样的正则表达式,如果要在 [] 中匹配 – ,可以将 – 放在 [] 的开头或结尾,例如 [-a-z] 或 [a-z-]

  可以在 [] 中使用转义字符:\f、\t、\n、\r、\v、\377、\xFF、\x{10FFFF}、\、\^、\$、.、*、+、\?、{、}、(、)、[、]、|(具体含义见上面的说明)

  如果在正则表达式中使用了分组,则在执行正则替换的时候,“替换内容”中可以使用 $1、${1}、$name、${name} 这样的“分组引用符”获取相应的分组内容。其中 $0 代表整个匹配项,$1 代表第 1 个分组,$2 代表第 2 个分组,……。

  如果“分组引用符”是 $name 的形式,则在解析的时候,name 是取尽可能长的字符串,比如:$1x 相当于 ${1x},而不是${1}x,再比如:$10 相当于 ${10},而不是 ${1}0。

  由于 $ 字符会被转义,所以要在“替换内容”中使用 $ 字符,可以用 \$ 代替。

  上面介绍的正则表达式语法是“Perl 语法”,除了“Perl 语法”外,Go 语言中还有另一种“POSIX 语法”,“POSIX 语法”除了不能使用“Perl 类”之外,其它都一样。

 

============================================================

示例:

 

 

参考链接:

https://my.oschina.net/kuerant/blog/199146

 

 

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published.