語法
說明表示式例項
一般字元
匹配自身
abc 匹配abc
.匹配任意除換行符「\n」外的字元
a.b\
轉義字元
a\.b 匹配a.b
[...]
字符集(字元類),對應的位置可以是字符集中任意字元,也可以給出範圍,如[abc]或[a-c],第乙個字元為^則表示匹配除括號外其他的字元,所有特殊字元再字符集中都失去原有的特殊意義,在字符集中如果要用到]、-或^,則可以在前面加上反斜槓,或者把]、-放在第乙個字元,把^放在非第乙個字元。
a[bcd]e 匹配:abe
aceade
\d數字:[0-9]
a\db 可以匹配a1b
\d非數字[^\d]
a\db 可以匹配abb
\s空白字元:[《空格》\t\r\n\f\v]
a\sb 可以匹配a b
\s非空白符:[^\s]
a\sb 可以匹配abb
\w單詞字元:[a-za-z0-9_]
a\wc 可以匹配abc
\w非單詞字元:[^\w]
a\wc 可以匹配a c
*匹配前乙個字元0次或無限次
abc* 可以匹配ab
abccc
+前乙個字元出現一次或者無限次
ab+ 可以匹配ab
abbbb
?匹配前乙個字元一次或0次
abc? 可以匹配ab
abc匹配前乙個字元m次
a 可以匹配aa
m和n可以省略,如果省略m,則匹配前乙個字元0到n次,如果省略n,則匹配前乙個字元m至無限次
a[1,2]c 可以匹配ac
aac\a
匹配字串開頭
\aabc 可以匹配字串abc
\z匹配字串末尾
abc\z 可以匹配字串abc
\b匹配\w和\w之間
a\b!bc 可以匹配a!bc
\b[^\b]
a\bbc 可以匹配abc
||代表左右表示式任意匹配乙個,它總是先嘗試匹配左邊的表示式,一旦成功匹配則跳過匹配右側的正規表示式。如果|沒有被包括在()中,則他的範圍是整個正規表示式
abc|efg 可以匹配abc或efg
(...)
被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號是「(」,編號+1。分組表示式作為乙個整體後面可以接數量名詞,表示式中的|只在該組中生效。
(abc) 可以匹配abcabc
a(123|456)b 可以匹配a456b
(?p...)
分組除了原有的編號外再指定乙個額外的別名
(?pabc) 匹配abcabc
\引號編號為的分組匹配到的字串
(\d)abc\1 可以匹配1abc1
(?p=name)
引用別名為的分組匹配到的字串
(?p\d)abc(?p=id) 可以匹配1abc1
(?:...)
(...)的不同版本,用於使用『|』或後接數量詞
(?:abc) 匹配abcabc
^匹配字串開頭,再多行模式中匹配每一行的開頭
^abc 匹配abc
$匹配字串結尾,再多行模式中匹配每一行的結尾
abc$ 匹配abc
package main
import (
"fmt"
"regexp"
)func main()
//2)根據規則提取關鍵資訊,-1表示匹配所有項,正數為匹配項數
result := reg1.findallstringsubmatch(buf, -1)
fmt.println("result = ", result)
}
輸出: go語言與正規表示式
編譯解析正規表示式 func mustcompile str string regexp返回值 編譯後,go語言能夠識別出來的乙個正規表示式結構體 利用正則從字串中提取有用資訊 func re regexp findallstringsubmatch s string n int string de...
Go語言正規表示式示例
複製 如下 package main import bytes import fmt import rwww.cppcns.comegexp func main 返回結果 true true peach 0 5 peach ea 0 5 1 3 peach punch pinch 0 5 1 3 6...
python語言中的正規表示式
序號 常用函式意義1 re.match regex content 按正規表示式regex規則,從頭開始匹配文字content 2result.group number 匹配子表示式,number表示子表示式在正規表示式中的位置 3result.span 輸出結果在正規表示式中的索引範圍 4修飾符r...