正则中的(?:sub)和前端匹配问题正则表达式里面的(?:sub)是什么意思,如(?:png|gif|jpg)
还有匹配后面跟随 如 good(?=bye),这样可以匹配出goodbye中的good,
但如何匹配前面跟随  如 goodbye以good开始后面的的bye? 

解决方案 »

  1.   

    "Windows(?=95 |98 |NT )"
    找到一个匹配后,紧接匹配到的文字(而不包括预查中使用的字符)就开始对下一次匹配的搜索。例如,如果上面所示的表达式匹配到 'Windows 98',则将从 'Windows' 而不是 '98' 之后继续查找。
      

  2.   

    贴错,应该是
    有时捕获一个子匹配是所希望的,有时则是不希望的。在说明所示的示例中,真正想做的就是使用圆括号对单词 'Chapter' 或 'Section' 之间的选择编组。并不希望在后面再引用该匹配。实际上,除非真的是需要捕获子匹配,否则请不要使用。由于不需要花时间和内存来存储那些子匹配,这种正则表达式的效率将更高。可以在正则表达式模式圆括号内部的前面使用 '?:'来防止存储该匹配供今后使用。对上面所示正则表达式的下述修改提供了免除子匹配存储的相同功能。对 JScript:/^(?:Chapter|Section) [1-9][0-9]{0,1}$/
      

  3.   

    正则中的(?:sub)和前端匹配问题正则表达式里面的(?:sub)是什么意思,如(?:png|gif|jpg)
    非捕获组,这个分组匹配到内容不被捕获
    ----------------
    还有匹配后面跟随 如 good(?=bye),这样可以匹配出goodbye中的good,
    但如何匹配前面跟随 如 goodbye以good开始后面的的bye?
    (?<=good)bye
    这个 javascript 不支持
      

  4.   

    正则表达式里面的(?:)是什么意思,如(?:png|gif|jpg)这个是匹配sub,不捕获匹配的文本,也不给此分组分配组号