在處理字串時,經常會有查詢符合某些複雜規則的字串的需求。正規表示式就是用於描述這些規則的工具。
行定位符就是用來描述字串的邊界,「^」表示行的開始,「$」表示行的結尾。
^tm該表示式表示要匹配字串tm的開始位置是行頭,如:「tm equal tomorrow moom」可以匹配,而「tomorrow moon equal tm」則不匹配。但使用:
tm$後者可以匹配而前者不能匹配。如果要匹配的字串可以出現在字串的任意部分,那麼可以直接寫成下面的格式:
tm
\bmr\w*\b上面的正規表示式用於匹配以字母mr開頭的單詞,先從某個單詞開始處(\b)然後匹配字母mr,接著是任意數量的字母或數字(\w*)最後單詞結束處(\b)該表示式可以匹配「mrsoft」、「\nmr」、「mr123456」等,但不能與「amr」匹配。
**說明舉例.
匹配除換行符以外的任意字元
.可以匹配「mr\nm\tr」中的m、r、m、\t、r
\w匹配字母、數字、下劃線和漢字
\w可以匹配「m中7\rn」中的「m、中、7、r」,但不能匹配「\n」
\w匹配除了字母、數字、下劃線或漢字以外的字元
\w可以匹配「m中7\rn」中的「\n」,但不能匹配「m、中、7、r」
\s匹配單個的空白符(包括tab鍵和換行符)
\s可以匹配「mr\tmr」中的「\t」
\s除單個空白符(包括tab鍵和換行符)以外的所有字元
\s可以匹配「mr\tmr」中的「m 、r、 m、 r」
\b匹配單詞的開始或結束,單詞的分界符通常是空格,標點符號或者換行
在"i like mr or am"字串中,\b m與mr中的m相匹配,但與am中的m不匹配
\d匹配數字
\d可以匹配「m7ri」中的「7」
在上面的例子中,使用(\w*)匹配任意數量的字母或數字,如果想要匹配特定數量的數字,該如何表示呢?正則 表示式為我們提供了限定符(指定數量的字元)來實現此功能,如匹配8位qq號可以使用如下的表示式:
^\d$限定符說明舉例?
匹配前面字元零次或者一次
colou?r,該表示式可以匹配colour和color
+匹配前面的字元一次或多次
go+gle,該表示式可以匹配的範圍從gogle到goo...gle
*匹配前面的字元零次或多次
go*gle,該表示式可以匹配的範圍從ggle到goo...gle
匹配前面的字元n次
gogle,該表示式只匹配google
匹配前面的字元最少n次
gogle,該表示式可以匹配的範圍從google到goo...gle
匹配前面的字元最少n次,最多m次
employe,該表示式可以匹配employ,employe、employee
花絮:
Python合集之Python字典(四)
ps 前段時間因為年底時間比較繁忙,沒有及時更新,望大家見諒,今天趁著大年初一趕緊給大家更新一波。由於字典是可變序列,所以可以隨時在字典中新增 鍵 值 對 向字典中新增元素的語法格式如下 dictionary key value 引數說明 dictionary 表示字典名稱 key 表示要新增元素的...
Python合集之Python元組(一)
在上一節的合集中,我們了解了python的二維列表的相關知識,本節我們將進一步了解一下python元組的相關知識。元組是python中另一種重要的序列結構,與列表類似,也是由一系列按特定順序排列的元素組成,但是他是不可變序列。因此,元組也可以稱為不可變的列表。在形式上,元組的所有元素都放在 中,兩個...
Python合集之Python列表(五)
在上一節的合集中,我們了解了python 列表中元素的統計及計算的相關知識,本節我們將進一步了解一下python列表中元素的排序的相關知識。在實際開發中,經常需要對列表進行排序。python中提供了兩種常用的對列表進行排序的方法 使用列表物件的sort 方法,使用內建的sorted 函式。列表物件提...