1.正則表達式在線驗證工具:https://regex101.com/
2.常見語法:
寫在正則表達式里面的普通字符都是表示:直接匹配它們。
比如 你下面的文本中,如果你要找所有的test,正則表達式就非常簡單,直接輸入test即可:

漢字也是一樣,要尋找漢字,直接寫正則表達式里面就可以了
但是有些特殊字符,術語叫metacharacters(元字符)
它們出現在正則表達式字符串中,不是表示直接匹配他們,而是表達一些特別的含義,這些特殊的元字符包括下面這些:
^ $ . * + ? = ! : | \ / ( ) [ ] { }
我們分別介紹一下它們的含義:
點—匹配所有字符
. 表示要匹配除了 換行符 之外的 單個 字符
比如,你要從下面的文本中,選擇所有的顏色
蘋果是綠色的 橙子是橙色的 香蕉是黃色的 烏鴉是黑色的
也就是要找到所有以 色 結尾,並且包括前面的一個字符的詞語
就可以這樣寫正則表達式 .色
其中點代表了任意的一個字符,注意是一個字符
.色 合起來就表示要找任意一個字符后面是 色 這個字,合起來兩個字的字符串

只要表達式正確,就可以寫在python代碼中,如下所示
content="蘋果是綠色的
橙子是橙色的
香蕉是黃色的
烏鴉是黑色的"
import re
p=re.compile(r'.色')
for one in p.findall(content):
print(one)
'''
運行結果如下:
綠色
橙色
黃色
黑色
星號-重復匹配任意次
*表示匹配前面的子表達式任意次,包括0次
比如,你要從下面的文本中,選擇每行逗號后面的字符串內容,包括逗號本身,注意,這里的逗號是中文的逗號
蘋果,是綠色的 橙子,是橙色的 香蕉,是黃色的 烏鴉,是黑色的 猴子,
就可以這樣寫正則表達式 ,.*
* 緊跟在 . 后面,表示任意字符可以出現任意次,所以整個表達式的意思就是在逗號后面的所有字符,包括逗號


特別是最后一行,猴子逗號后面沒有其他字符了,但是*表示可以匹配0次,所有表達式也是成立的
只要表達式正確,就可以寫在python代碼中,如下所示
content="蘋果,是綠色的
橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,"'
import re
p=re.compile(r' ,.*')
for one in p.findall(content):
print(one)
'''
運行結果如下:
,是綠色的
,是橙色的
,是黃色的
,是黑色的
,
'''
注意, .*在正則表達式中非常常見,表示匹配任意字符任意次數
當然這個*前面不是非得是點,也可以是其它字符,比如

