環視結構不匹配任何字元,只匹配文字中的特定位置,一種型別的環視叫順序環視(lookahead),作為表示式的一部分,順序環視順序(從左至右)檢視文字,嘗試匹配子表示式,如果能夠匹配,就返回匹配成功資訊。肯定型順序環視用特殊的序列(?=...)表示,例如(?=\d)表示
如果當前位置右邊的字元是數字則匹配成功,另一種環視稱為逆序環視,它逆序(從右向左)檢視文字,它用特殊的序列(?<=...)表示,
例如(?<=\d) 如果當前位置的左邊有一位數字則匹配成功(也就是說緊跟在數字後面)
環視:不匹配任何字元,只匹配乙個位置
(?=...) 肯定順序環視 子表示式能夠匹配右側文字
(?<=...) 肯定逆序環視 子表示式能夠匹配左側文字
(?!...) 否定順序環視 子表示式不能匹配右側文字
(?s/jeff/jeff's/g
s/\b(jeff)(s)\b/$1'$2/g
s/(?<=\bjeff)(?=s\b)/'/ 這個表示式實際上沒有匹配任何字元,只是匹配了我們希望插入撇號的位置,在這種情況下,我們並沒有「替換任何字元」,而是插入了乙個撇號
非捕獲型括號 (?:...) 可以提高效能
grep 不支援多選結構'^if|num$' egrep支援
\d 數字 等價於[0-9],如果工具軟體支援unicode,能匹配所有的unicode數字
\d 非數字字元 等價於[^\d]
\w 單詞中的字元 一般等價於[a-za-z0-9_] 某些工具軟體中\w不能匹配下劃線
\w 非單詞字元 等價於 [^\w]
\s 空白字元 在支援ascii的系統中,它通常等價於[ \f\n\r\t\v]
\s 非空白字元 等價於 [^\s]
[^u] 表示 「匹配乙個未列出的字元」,而不是「不要匹配列出的字元」
* ? + 只作用於之前緊鄰的元素
未完待續。。。
正規表示式學習筆記
正規表示式學習日記 1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫...
正規表示式學習筆記
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
正規表示式學習筆記
1.正規表示式是可用於在乙個檔案或字元裡查詢和替代文字的一種標準。它具有兩種標準 基本的正規表示式 bre 擴充套件的正規表示式 ere ere包括bre功能和另外其它的概念。2.表示或運算 3.匹配任何單個字元 4.匹配任何中包含的單個字元,如 張王李 三,匹配張 三 王三,李三 5.將排除 後跟...