码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式问题:如何理解/href\s*=\s*(?:"(?<1>[^"]*)"|(?<1>\S+))/(转载)

时间:2014-07-25 18:56:51      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:使用   re   c   问题   html   htm   js   字符串   

ms-help://MS.VSCC/MS.MSDNVS.2052/jscript7/html/jsjsgrpregexpsyntax.htm
该文虽有解释, 但没有样例,对我这样的初学者来说很难理解

在msdn上看到:href\s*=\s*(?:"(?<1>[^"]*)"|(?<1>\S+)),该正则表达式匹配字符串中的形如href="..."的链接。msdn没有解释该表达式的语法, 以下是我初步的问题

1. (?:"(....\S+))这一部分是什么意思

在msdn上说明(?:pattern)为:
   "匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“或”字符 (|) 组合模式部件的 情况很有用。例如,“industr(?:y|ies)”这一表达式比“industry|industries”更经济。

以上这些话很难理解, 那么在这里pattern是"(?<1>[^"]*)"|(?<1>\S+), 该怎么解释呢

同样msdn对(pattern)(?=pattern)(?!pattern)之类的解释,我也不太理解

2.?:表示匹配但不获取,如果不用,会多获取几个匹配,占用资源。
?<1>引用名称,即表示该获取可以用$1引用,

正则表达式问题:如何理解/href\s*=\s*(?:"(?<1>[^"]*)"|(?<1>\S+))/(转载),布布扣,bubuko.com

正则表达式问题:如何理解/href\s*=\s*(?:"(?<1>[^"]*)"|(?<1>\S+))/(转载)

标签:使用   re   c   问题   html   htm   js   字符串   

原文地址:http://www.cnblogs.com/liuyang-inf/p/3868042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!