请教正则表达式怎么用式

圆括号()是组主要应用在限制多選结构的范围/分组/捕获文本/环视/特殊模式处理
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

方括号是单个匹配字符集/排除字符集/命名字符集
1、[0-3],表示找到这一个位置上的字符只能是0到3这四个数字與(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符而一对方括号只能匹配单个字符
2、[^0-3],表示找到这一个位置上的字符只能是除了0到3の外的所有字符

()和[]有本质的区别
()内的内容表示的是一个子表达式()本身不匹配任何东西,也不限制匹配任何东西只是把括号内的内容作為同一个表达式来处理,例如(ab){1,3}就表示ab一起连续出现最少1次,最多3次如果没有括号的话,ab{1,3},就表示a后面紧跟的b出现最少1次,最多3次另外,括号在匹配模式中也很重要这个就不延伸了,LZ有兴趣可以自己查查
[]表示匹配的字符在[]中并且只能出现一次,并且特殊字符写在[]会被当成普通字符来匹配例如[(a)],会匹配(、a、)、这三个字符

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

发布了55 篇原创文章 · 获赞 34 · 访問量 2万+

你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 正则表达式怎么用 的文章

 

随机推荐