本文內容:
一、貪婪量詞和不貪婪量詞
量詞*(零個或多個)和+(一個或多個)是貪婪的,它們會匹配儘可能多的字符,我們可以在*和+後面加一個?,使它成爲非貪婪量詞
下面代碼是: 1個或多個字符後接一個感嘆號。
二、錨
錨是指必須滿座一定的條件,才能繼續匹配
^ 行首
$ 行尾
\A 字符串的開始
\z 字符串的結尾
\Z 字符串的結尾(不包括最後的換行符)
\b 單詞邊界
示例:
下面演示我們用正則取出註釋的內容
三、前視斷言
前視斷言表示想要知道下一個指定的是什麼,但並不匹配
1. 肯定的前視斷言(?=)
假設我們想要匹配一個數的序列,該序列以一個圓點結束,但並不想把圓點作爲模式匹配的一部分
2. 否定的前視斷言(?!)
四、修飾語
修飾語位於正則表達式最結束正則表達式的正斜槓的後面
1. i 使正則表達式對大小寫不敏感
2. m 使得正則表達式可以和任何字符匹配,包括換行符,通常情況下圓點通配符不匹配換行符
五、字符串與正則表達式的相互轉換
1. 字符串內插進正則表達式
2.正則表達式轉換成字符串
六、使用正則表達式的常見方法
還有sub/sub!和gsub/gsub!, grep這些也常用到正則表達式.
本文作者:王德水
未經同意,禁止轉載