2.常見語法:
寫在正規表示式裡面的普通字元都是表示:直接匹配它們。
比如 你下面的文字中,如果你要找所有的test,正規表示式就非常簡單,直接輸入test即可:
漢字也是一樣,要尋找漢字,直接寫正規表示式裡面就可以了
但是有些特殊字元,術語叫metacharacters(元字元)
它們出現在正規表示式字串中,不是表示直接匹配他們,而是表達一些特別的含義,這些特殊的元字元包括下面這些:
我們分別介紹一下它們的含義:
點—匹配所有字元
. 表示要匹配除了 換行符 之外的 單個 字元
比如,你要從下面的文字中,選擇所有的顏色
蘋果是綠色的也就是要找到所有以 色 結尾,並且包括前面的乙個字元的詞語橙子是橙色的
香蕉是黃色的
烏鴉是黑色的
就可以這樣寫正規表示式 .色
其中點代表了任意的乙個字元,注意是乙個字元
.色 合起來就表示要找任意乙個字元後面是 色 這個字,合起來兩個字的字串
只要表示式正確,就可以寫在python**中,如下所示
content="蘋果是綠色的星號-重複匹配任意次*表示匹配前面的子表示式任意次,包括0次橙子是橙色的
香蕉是黃色的
烏鴉是黑色的"
import re
p=re.compile(r'.色')
for one in p.findall(content):
print(one)
'''執行結果如下:
綠色橙色
黃色黑色
比如,你要從下面的文字中,選擇每行逗號後面的字串內容,包括逗號本身,注意,這裡的逗號是中文的逗號
蘋果,是綠色的就可以這樣寫正規表示式 ,.*橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,
* 緊跟在 . 後面,表示任意字元可以出現任意次,所以整個表示式的意思就是在逗號後面的所有字元,包括逗號
特別是最後一行,猴子逗號後面沒有其他字元了,但是*表示可以匹配0次,所有表示式也是成立的
只要表示式正確,就可以寫在python**中,如下所示
content="蘋果,是綠色的注意,.*在正規表示式中非常常見,表示匹配任意字元任意次數橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,"'
import re
p=re.compile(r' ,.*')
for one in p.findall(content):
print(one)
'''執行結果如下:
,是綠色的
,是橙色的
,是黃色的
,是黑色的
, '''
當然這個*前面不是非得是點,也可以是其它字元,比如
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...
Python正規表示式
學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...