Go语言支持的正则语法

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

内容简介:|语法|说明| |:---|:---| |. |任意字符,在单行模式(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语言支持的正则语法


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

查看所有标签

猜你喜欢:

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

Effective Java: Second Edition

Effective Java: Second Edition

Joshua Bloch / Addison-Wesley / 2008-05-28 / USD 54.99

Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plent......一起来看看 《Effective Java: Second Edition》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具