• 正则表达式小记--匹配但不获取


    (?!=XXX[:|:|s]?)d{16}
    (?!=XXX)表示查找XXX内容,但最终结果不包括它
    (?=XXX)表示查找XXX内容,最终结果包括它
    [:|:|s]? 表示 全角冒号,半角冒号,空格 或没有字符

    (pattern) 匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 
    Matches 集合得到,在VBScript 中使用 SubMatches 集合,在
    Visual Basic Scripting Edition 中则使用 $0…$9 属性。要
    匹配圆括号字符,请使用 '(' 或 ')'。

    (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹
    配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合
    一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就
    是一个比 'industry|industries' 更简略的表达式。
    (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符
    串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后
    使用。例如,'Windows (?=95|98|NT|2000)' 能匹配"Windows 
    2000"中的"Windows",但不能匹配"Windows3 .1"中"Windows"。
    预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹
    配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之
    后开始。 
    <!--
    以上这2个,(?:pattern) (pattern)
    好像是(?!=pattern)才达到 匹配 pattern 但不获取匹配结果 的效果 2007-4-9
    -->


    (?!pattern) 负向预查,在任何不匹配Negative lookahead matches the 
    search string at any point where a string not matching 
    pattern 的字符串开始处匹配查找字符串。这是一个非获取匹
    配,也就是说,该匹配不需要获取供以后使用。例如'Windows
    (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",
    但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字
    符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开
    始下一次匹配的搜索,而不是从包含预查的字符之后开始 

  • 相关阅读:
    vb教程图文并茂
    一个文本框的andriod教程
    5月18日,完成导入数据,但是从命令行显示数据乱码,程序已经正常工作
    android 文件读写权限的设定
    raw目录的位置是D:android_projectsqrscanappsrcmain es aw
    一个在raw里面放着数据库文件的网上例子
    P1446 [HNOI2008]Cards [Burnside引理]
    UVA11255 Necklace [Polya定理]
    Polya 定理入门[Burnside引理,Polya定理,欧拉函数]
    P2831 愤怒的小鸟 [状压dp/模拟退火]
  • 原文地址:https://www.cnblogs.com/gisblogs/p/4048545.html
Copyright © 2020-2023  润新知