zoukankan      html  css  js  c++  java
  • 正则表达式问题:如何理解/hrefs*=s*(?:"(?<1>[^"]*)"|(?<1>S+))/(转载)

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

    在msdn上看到:hrefs*=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引用,

  • 相关阅读:
    docker基本指令
    Process API
    Go的Context用法
    golang的可空类型和零值
    动态编程(DynamicObject、ExpandoObject)
    git clean
    SQL Server Join
    公用表表达式 Common Table Expression
    ubuntu安装mysql
    asp.net core-使用Nlog和log4net
  • 原文地址:https://www.cnblogs.com/liuyang-inf/p/3868042.html
Copyright © 2011-2022 走看看