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

正则表达式

发布时间:2020-12-13 22:20:22 所属栏目:百科 来源:网络整理
导读:(1)反向引用: 其实,“小括号包含的表达式所匹配到的字符串” 不仅可以在匹配结束后可以使用,在匹配过程中也可以使用。表达式后边的部分,可以引用前面 “括号内的子匹配已经匹配到的字符串”。引用方法是 “” 加上一个数字。“1” 引用第1对括号内匹

(1)反向引用:

其实,“小括号包含的表达式所匹配到的字符串” 不仅可以在匹配结束后可以使用,在匹配过程中也可以使用。表达式后边的部分,可以引用前面 “括号内的子匹配已经匹配到的字符串”。引用方法是 “” 加上一个数字。“1” 引用第1对括号内匹配到的字符串,“2” 引用第2对括号内匹配到的字符串……以此类推,如果一对括号内包含另一对括号,则外层的括号先排序号。换句话说,哪一对的左括号 “(” 在前,那这一对就先排序号。 这种用法就叫“反向引用”

比如正则表达式<(w+)>.*?</1>中的1表示,该处匹配第一个()中已经匹配的内容,该表达式可以用来校验<html>aa</html>等HTML标记是否配对,注意中间的.*?为非贪婪模式

(2)贪婪重复匹配模式

由此可见,“w+” 在匹配的时候,总是尽可能多的匹配符合它规则的字符。虽然第二个举例中,它没有匹配最后一个 “d”,但那也是为了让整个表达式能够匹配成功。同理,带 “*” 和 “{m,n}” 的表达式都是尽可能地多匹配,带 “?" 的表达式在可匹配可不匹配的时候,也是尽可能的 "要匹配"。这 种匹配原则就叫作 "贪婪" 模式 。

(编辑:李大同)

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

    推荐文章
      热点阅读