標籤:io ar 使用 sp on ad bs as window
(?!=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"。預查不消耗字
符,也就是說,在一個匹配發生後,在最後一次匹配之後立即開
始下一次匹配的搜尋,而不是從包含預查的字元之後開始
Regex小記--匹配但不擷取