字元語法
語法解釋
語法例子
\d匹配數字(0~9)
\d 匹配8 不匹配12
\d匹配非數字
\d 匹配c 不匹配3
\w匹配任意單字元
\w\w 匹配a3,不匹配@3
\w匹配非單字元
\w匹配@,不匹配c
\s匹配空白字元
『d\s\d 匹配3 d,不匹配abc
\s匹配非空字元
\s\s\s 匹配a#4,不匹配3 d
.匹配任意字元
. 匹配a,不匹配換行
[…]匹配括號中任意字元
[b-d]匹配b、c、d, 不匹配e
[^…]
匹配非括號字元
[^b-z]匹配a,不匹配b-z的字元
重複語法
語法解釋
語法例子
?匹配0或1次
5?匹配5或0,不匹配非5和0
+匹配一次或多次
\s+匹配乙個以上\s,不匹配非乙個以上\s
*匹配0次以上
\w匹配 0以上 \w,不匹配非n\w
匹配n次字元
\d匹配\d\d\d,不匹配\d\d或\d\d\d\d
匹配n次和n次以上
\w匹配\w\w和\w\w\w以上,不匹配\w
匹配n次上m次下
\s匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s
重複語法
語法解釋
^正則開始識別符號
$正則結束識別符號
\a前面模式開始位置
\z前面模式結束位置
\z前面模式結束位置(換行前)
\b匹配乙個單詞邊界
\b匹配乙個非單詞邊界
貪婪模式在匹配到成功之後仍然會繼續往後面匹配,檢視後面是否有匹配成功的。在貪婪模式後面新增?
即可 讓其變成非貪婪模式
舉個例子源字串:sssstest1
bbtest2
cc
正則1:.*
結果1test1
bbtest2
正則2:.*?
結果2:test1
和test2
正則1採用的是貪婪模式,在匹配到第乙個時已經可以使整個表示式匹配成功,但是由於採用的是貪婪模式,所以仍然要向右嘗試匹配,檢視是否還有更長的可以成功匹配的子串,匹配到第二個
後,向右再沒有可以成功匹配的子串,匹配結束,匹配結果為
test1
。而非貪婪模式則匹配到第乙個bbtest2
之後就返回了,然後再往後面尋找是否還有第二個滿足條件的,發現
test2
也滿足,也將其返回,所以非貪婪模式一般返回的是乙個結果集。
又稱捕獲組和非捕獲組,使用()
匹配出來可以採用只要 hello world,不要外面得 h1標籤
(?<=)
(?=)
來實現,這個標識func
test2
(t *testing.t)
(?<=)
表示要匹配得字元前面必須是以結尾的
通過 \1 \2 引用前面的子表示式world
我們想匹配出來標籤正確的,我們發現 h2 的標籤是異常的,而我們不想匹配它,那麼就可以採用回溯引用的方式pibigstar
可採用下面的正規表示式
(?<=).+?(?=)
則會匹配出來
hello
pibigstar
正規表示式詳解
正規表示式 基本正規表示式主要用於grep,egrep,vi,sed,awk命令中進行字串匹配。符號 意義 c 匹配字母c 匹配任意單個字元 匹配前乙個字元出現零次或多次 匹配任意多個任意字元 匹配集合中的任意單個字元,括號中為乙個集合 x y 匹配連續的字串範圍 匹配字串的開頭 匹配字串的結尾 匹...
正規表示式詳解
正規表示式主要作用 分割 匹配 查詢 替換 正規表示式中包括的元素 1.原子 普通字元 a z a z 0 9 原子表 轉義字元 2.元字元 有特殊功能的字元 3.修正模式符 系統內建部分字元,例如 i m s u 原子 1.a z a z 0 9 最常見的字元 2.abc 用圓括號包含起來的單元符...
正規表示式詳解
正規表示式 regular expression 又稱正規表示式 規則表示式等,是電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串,也通常用來檢索 替換那些匹配某個模式的文字。下面從以下方面開始講述正規表示式在python中的應用。1.在python中使用,首先需要...