当前位置: 技术问答>linux和unix
问两个linux c的正则表达式语法问题:贪婪模式和位置指定
来源: 互联网 发布时间:2016-10-23
本文导语: 正则表达式的贪婪与懒惰匹配模式, 我本地试了一下, 好像没有差别, 不知道why; 文本: INVITE sip:8613812349999@10.144.92.119;User=phone SIP/2.0 贪婪模式: invi.*9 结果: INVITE sip:8613812349999@10.144.92.119 懒惰模式: invi.*?9 结果: INVITE sip:8...
正则表达式的贪婪与懒惰匹配模式, 我本地试了一下, 好像没有差别, 不知道why;
文本: INVITE sip:8613812349999@10.144.92.119;User=phone SIP/2.0
贪婪模式: invi.*9
结果: INVITE sip:8613812349999@10.144.92.119
懒惰模式: invi.*?9
结果: INVITE sip:8613812349999@10.144.92.119
根据懒惰模式定义, 应该是匹配到最短的以9结束的内容, 应该是: INVITE sip:8613812349 才对吧?
---------------
另外, 对于位置指定功能, 看到有地方如下描述:
(?=exp)也叫零宽先行断言,它匹配文本中的某些位置,这些位置的后面能匹配给定的后缀exp。比如bw+(?=ingb),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如果在查找I'm singing while you're dancing.时,它会匹配sing和danc。
(?