主要使用的有下面三種:
1. (...)
Grouping. Group items into a single unit that can be used with *, +, ?, |, and so on. Also remember the characters that match this group for use with later references.
2. (?:...)
Grouping only. Group items into a single unit, but do not remember the characters that match this group.
3.
(?=p) A positive lookahead assertion. 或
(?!p) A negative lookahead assertion.
用于測試的字符串:url(skins/default/images/index/default.png)
紅色字符為匹配上的結果
第一種,用于普通分組,能記住匹配該分組的字符串,并且可以在以后通過\1的方式來引用所匹配到的分組
eg: (\/)匹配url(skins/default/images/index/default.png)
(\/)default\1匹配url(skins/default/images/index/default.png)
第二種,用于分組,不記錄匹配該分組的字符串
eg: (?:\/)default匹配url(skins/default/images/index/default.png)
第一、二兩種方式匹配的結果里都包含有該分組匹配到的結果,在例子中是"/default"中的"/"
第三種,只用于確定位置,最終結果里并不包含該括號匹配到的結果
eg: (?!\/)default匹配url(skins/default/images/index/default.png)
eg: default(?=\/)匹配url(skins/default/images/index/default.png)
上一篇:正則表達式 傳智播客學習
下一篇:JS 正則表達式的位置匹配