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


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

查看所有标签

猜你喜欢:

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

数码人类学

数码人类学

[英]丹尼尔·米勒、希瑟·A.霍斯特 / 王心远 / 人民出版社 / 2014-10 / 48.00元

人类学有两大任务,一是理解什么是人,二是理解人性是如何透过多元的文化表现出来。数码科技的蓬勃发展给这两者都带来了新的作用力。《数码人类学》向读者展示了人类与数码科技如何辩证地相互定义。最终我们试图得出一个结论,那便是“数码科技对人类到底意味着什么?” 从社交网站到数字化博物馆;从数字时代政治学到电子商务,浸润式的数码科技,给普通人的生活带来了根本性的改变。仅仅用数据来说明与理解问题显然过于太......一起来看看 《数码人类学》 这本书的介绍吧!

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

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具