加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式的使用

发布时间:2020-12-13 22:50:57 所属栏目:百科 来源:网络整理
导读:简单介绍一下正则表达式相关知识(内容主要从这里提取的)。正则表达式就是记录文本规则的代码。 元字符 常见的元字符有 .,*,?, d,s,w,b,+,$,^等。 . 匹配换行符以外的任意字符, * 表示它前面的内容可以连续使用任意次,他俩连在一块就表示不包含换行符

简单介绍一下正则表达式相关知识(内容主要从这里提取的)。正则表达式就是记录文本规则的代码。

元字符

常见的元字符有.,*,?,d,s,w,b,+,$,^等。.匹配换行符以外的任意字符,表示它前面的内容可以连续使用任意次,他俩连在一块就表示不包含换行符的任意字符串,?表示重复零次或一次,d匹配一位数字,s匹配任意的空白符,w匹配字母或数字或下划线或汉字等,b匹配单词的开始或结束,+匹配1次或任意次。$匹配字符串的结束。.^匹配字符串的开始。

举个简单的例子,^d{6,12}$匹配以数字开头,长度大于6,小于12的数字串。

重复

.,{2},{6,12}都表示重复的方式

字符类

用[]表示,[aeiou]匹配任意一个元音字母,[0-9]等同于d.

分歧条件

用|符号把不同的规则分隔开,满足一个规则就符合规则。

分组

如果我们想要重复多个字符,可以用小括号指定子表达式,叫做分组。

反义

W,S,D等,W匹配任意不是字母数字下划线汉字的字符,S匹配任意不是空白字符的字符,D匹配任意非字符的字符

后向引用

在匹配的规则的表达式中,如果包含分组,就自动会从左到右给分组一个序号,用1,2表示。在表达式或其他程序中可以用1来引用这些分组而不用重复的编写规则。

零宽断言

匹配某些内容之前或之后的字符串,(?=exp)匹配exp前面的部分,(?<=exp)匹配exp后面的部分,这两种匹配 的结果都不包含exp本身。

负向零宽断言

表示断言此位置之前或之后不能出现exp,其中(?!exp)表示之后不能出现exp,(?<!exp)表示之前不能出现exp。

贪婪与懒惰

直接用例子来说明比较方便,例如,表达式a.*b匹配字母a和b之间的内容,默认情况下会匹配尽可能多的字符,例如aabaab,会匹配得到aabaab,而如果在表达式之后加上一个?,就会匹配最短的内容,a.*?b再次来匹配时,就会得到ab,ab

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读