Go语言支持的正则语法

栏目: Go · 发布时间: 5年前

内容简介:|语法|说明| |:---|:---| |. |任意字符,在单行模式(s标志)下,也可以匹配换行| |[xyz] |字符类| |[^xyz] |否定字符类| |\d |Perl 字符类| |\D |否定 Perl 字符类| |[[:alpha:]] |ASCII 字符类| |[[:^alpha:]] |否定 ASCII 字符类| |\pN |Unicode 字符类 (one-letter name)| |\p{Greek} |Unicode 字符类| |\PN |否定 Unicode 字符类 (one-l

1 字符

|语法|说明| |:---|:---| |. |任意字符,在单行模式(s标志)下,也可以匹配换行| |[xyz] |字符类| |[^xyz] |否定字符类| |\d |Perl 字符类| |\D |否定 Perl 字符类| |[[:alpha:]] |ASCII 字符类| |[[:^alpha:]] |否定 ASCII 字符类| |\pN |Unicode 字符类 (one-letter name)| |\p{Greek} |Unicode 字符类| |\PN |否定 Unicode 字符类 (one-letter name)| |\P{Greek} |否定 Unicode 字符类|

参考以下附录,获取具体字符类的内容:

2 组合

|语法|说明| |:---|:---| |xy |xy(x 后跟随 y)|

x|y x或y

3 重复次数

|语法|说明| |:---|:---| |x* |零个或多个 x,贪婪| |x+ |一个或多个 x,贪婪| |x? |零个或一个 x,贪婪| |x{n,m} |n 到 m 个 x,贪婪| |x{n,} |n 个或多个 x,贪婪| |x{n} |n 个 x| |x*? |零个或多个 x,非贪婪| |x+? |一个或多个 x,非贪婪| |x?? |零个或一个 x,非贪婪| |x{n,m}? |n 到 m 个 x,非贪婪| |x{n,}? |n 个或多个 x,非贪婪| |x{n}? |n 个 x|

4 分组子模式

|语法|说明| |:---|:---| |(re) |编号捕获组(子匹配)| |(?P<name>re) |命名编号捕获组(子匹配)| |(?:re) |非捕获组(子匹配)| |(?flags) |设置标记对组后表达式生效,非捕获| |(?flags:re) |组内设置标记,非捕获|

标志语法是:

|语法|说明| |:---|:---| |xyz |设置| |-xyz |清除| |xy-z |设置 xy,清除 z|

支持的标志:

|语法|说明| |:---|:---| |i |大小写不敏感,(默认 false)| |m |多行模式: ^ 和 $ 匹配行开始和结束而不是匹配文本的开头和结尾(默认 false)| |s |令 . 匹配 \n (默认 false)| |U |非贪婪:交换 x* 和 x*? 的意义,x+ 和 x+?,等 (默认 false)|

5 位置(零宽字符)

|语法|说明| |:---|:---| |^ |设置标记 m 则匹配行首,否则匹配整个文本的开头(m 默认为 false)| |$ |设置标记 m 则匹配行尾,否则匹配整个文本的结尾(m 默认为 false)| |\A |整个文本的开头,忽略 m 标记| |\b |单词边界| |\B |非单词边界| |\z |整个文本的结尾,忽略 m 标记|

6 转义字符类

|语法|说明| |:---|:---| |\a |响铃符 (相当于 \x07)| |\f |换页符 (相当于 \x0C)| |\t |横向制表符(相当于 \x09)| |\n |换行符 (相当于 \x0A)| |\r |回车符 (相当于 \x0D)| |\v |纵向制表符(相当于 \x0B)| |\123 | 8 進制编码所代表的字符(必须是 3 位数字)| |\x7F | 16 進制编码所代表的字符(必须是 3 位数字)| |\x{10FFFF} | 16 進制编码所代表的字符(最大值 10FFFF )| |\Q...\E | \Q 和 \E 之间的文本,忽略文本中的正则语法|| |\\ |\| |\^ |^| |\$ |$| |\. |.| |\* |*| |\+ |+| |\? |?| |\{ |{| |\} |}| |\( |(| |\) |)| |\[ |[| |\] |]| \|             |

7 命名字符类 作为 字符类 的元素

|语法|说明| |:---|:---| |[\d] |数字 (相当于 \d)| |[^\d] |非数字 (相当于 \D)| |[\D] |非数字 (相当于 \D)| |[^\D] |数字 (相当于 \d)| |[[:name:]] |命名的“ASCII 类”包含在“字符类”中 (相当于 [:name:])| |[^[:name:]] |命名的“ASCII 类”不包含在“字符类”中 (相当于 [:^name:])| |[\p{Name}] |命名的“Unicode 类”包含在“字符类”中 (相当于 \p{Name})| |[^\p{Name}] |命名的“Unicode 类”不包含在“字符类”中 (相当于 \P{Name})|

完! 原文出自: 小韩说课 微信关注:小韩说课 Go语言支持的正则语法


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Pro CSS and HTML Design Patterns

Pro CSS and HTML Design Patterns

Michael Bowers / Apress / April 23, 2007 / $44.99

Design patterns have been used with great success in software programming. They improve productivity, creativity, and efficiency in web design and development, and they reduce code bloat and complexit......一起来看看 《Pro CSS and HTML Design Patterns》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具