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语言支持的正则语法


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

查看所有标签

猜你喜欢:

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

Head First Design Patterns

Head First Design Patterns

Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具