美文网首页
正则()[]{}|?:用法

正则()[]{}|?:用法

作者: yichen_china | 来源:发表于2021-11-27 17:40 被阅读0次

圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理
方括号是单个匹配 字符集/排除字符集/命名字符集

正则表达式的() [] {} 有着不同的意思。

() 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
(\s*)表示连续空格的字符串

[] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\s表示空格或者号]

{}一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s[1,3]表示匹配1到3个空格

(0-9)匹配’0-9’本身。[0-9]匹配数字(注意后面有,可以为空)[0-9]+匹配数字(注意后面有+,不可以为空),

{0-9}写法是错误的

[0-9]{0,9}表示长度为0到9的数字字符串。

圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理
示例:

1(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一,顺序也必须一致

2、(abc)? 表示这一组要么一起出现,要么不出现,出现那则按顺序出现

3、(?:abc)表示找到一样abc的一组,但是不记录,不保存到变量中,否则可以通过x取第几个括号所匹配到的项,比如:(aaa)(bbb)(ccc)(?:ddd)(eee)可以用1获取(aaa)匹配到的内容,而3则获取到了(ccc)匹配到的内容,而$4则获取的是由(eee)匹配到的内容,因为前一对括号没有保存变量

4.a(?=bbb)顺序环视 表示a后面必须紧跟3个连续的b

5、(?i:xxxx)不区分大小写 (?s:.*)跨行匹配,可以匹配回车符

方括号是单个匹配 字符集/排除字符集/命名字符集
示例:

1、[0-3],表示找到一个位置上的字符只能是0到3折四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符而一对方括号只能匹配单个字符

2、[^0-3] 表示找到这个位置上字符只能是除了0到3之外的所有字符

3、[:digit:] 0-9 [:alnum] A-Za-z0-9

()和[]有本质的区别

()内的内容表示的是一个表达式,()本身不匹配任何东西,也不惜那是匹配任何东西,只是把括号内的内容作为

同一个表达式来处理,例如(ab){1,3},就表示ab一起连续出现最少1次,最多三次。如果没有括号的话,ab{1,3},

就表示a 后面紧跟的b出现的最少一次,最多三次。另外,括号在匹配模式中也跟重要。这个就不延伸了。

[]表示匹配字符在[]中,兵出现一次,并且reshuffle字符写在[]会被当成普通字符来匹配,例如[(a)],会匹配(、a、)、这三个字符。

所以()[] 无论是作用还是表示的含义。都有天壤之别,没有什么联系。

相关文章

  • 常用正则方法

    可以使用正则的方法 常见的用法 实际用法 用法规则 字符簇

  • 正则表达式

    用法。常用正则表达式。详细用法 //正则表达式:记录文本规则的代码 //常用的正则表达式的地方:登录,密码等格式的...

  • Java学习(持续更新)

    正则表达式matches用法

  • 正则表达式

    正则表达式的用法介绍

  • R-stringr 处理字符串

    基本用法 正则表达式 使用正则表达式的stringr函数 1. 基本用法 字符串长度str_length() 字符...

  • 正则()[]{}|?:用法

    圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理方括号是单个匹配 字符集/排除字符...

  • python正则表达式详解

    #首先,python中的正则表达式大致分为以下几部分: 元字符 模式 函数 re 内置对象用法 分组用法 环视用法...

  • python正则表达式浅析

    简单记录下python下正则表达式的用法,加深对正则表达式用法的记忆,方便以后爬虫本文选取了莫烦python中我觉...

  • java 正则表达式 简单入门

    java 正则表达式用法 最近学习编译原理,要用到正则表达式。本次要学习如何用java正则表达式。正则表达式:可以...

  • 正则的用法

    正则表达式是用来做什么的?答:用来处理字符串的,相当于过滤的性质,找到符合要求的字符集。 怎样创建一个正则表达式?...

网友评论

      本文标题:正则()[]{}|?:用法

      本文链接:https://www.haomeiwen.com/subject/pvrgtrtx.html