正規表示式學習筆記 6 向前查詢和向後查詢

2021-06-08 08:49:19 字數 919 閱讀 7817

(六)向前查詢和向後查詢

1. 向前查詢:根據要匹配的字串行後面存在乙個特定的字串行(肯定式向前查詢)或不存在乙個特定的序列(否定式向前查詢)來決定是否匹配。.net將向前查詢稱之為零寬度向前查詢斷言。

對於向前查詢,出現在指定項之後的字串行不會被正規表示式引擎返回。

2. 向後查詢:乙個要匹配的字串行前面有或者沒有指定的字串行

3. (?元字元

3.1 (?:...)   非捕獲組

3.2 (?=...) 肯定式向前查詢

3.3 (?!...) 否定式向前查詢

3.4 (?<=...) 肯定式向後查詢

3.5 (?

4. 肯定式向前查詢

eg1. 匹配字串行start後跟乙個空格和traing字串行

正則模式:start(?= traing)

eg2. 匹配字串行sentence,如果在同一句子中還存在字串行sequence

正則模式:sentence(?=.*sequence.*)

5. 否定式向前查詢

eg1. 匹配字串行start後面不存在traing字串行

正則模式:start(?!\btraing\b)

6. 肯定式向後查詢

eg.匹配前面有」dr. 「或」mr 「的字串行tian

正則模式:((?<=dr. )|(?<=mr ))tian

7. 否定式向後查詢

eg.匹配前面沒有」dr. 「的字串行tian

正則模式:(?

8. 為大數新增逗號增強可讀性

eg.為》1000的數每三位新增乙個逗號(1234→1,234)

正則模式:(?<=\d)(?=(\d)+\b)

該模式表示:查詢這樣乙個位置,改位置的前面有乙個數字,且後面有乙個或多個3個數字組成的字串行,最後各乙個單詞結束符。

Perl學習筆記(6) 正規表示式

通用量詞,可以用 表示大於等於1個,表示大於0次,表示0或1次。而通過 指定指定重複次數,比如 可以用 1,表示,用 0,1 替換s pattern replacement 預設是對匹配的第乙個進行替換,如果加上 g可以進行全域性替換,即匹配所有進行替換。split 根據分割符拆分乙個字串為列表。f...

正規表示式 6

普通字元包括沒有顯式指定為元字元的所有可列印和不可列印字元。這包括所有大寫和小寫字母 所有數字 所有標點符號和一些其他符號。正規表示式的最簡單形式是在搜尋字串中匹配其本身的單個普通字元。例如,單字元模式,如 a,不論出現在搜尋字串中的何處,它總是匹配字母 a。下面是一些單字元正規表示式模式的示例 a...

正規表示式是向前向後查詢的使用

在正規表示式中前後查詢是經常用到的,例如要提取某一對標籤內的文字卻又不包含此標籤就可以通過正規表示式的前後查詢來實現。1 向前查詢 向前查詢制定了乙個必須匹配但不在結果中的返回模式,實際上就是乙個以?開頭的子表示式,需要匹配的文字跟在 的後面,在同乙個搜尋模式裡可以使用多個向前查詢表示式,它們可以出...