序號
常用函式意義1
re.match(『regex』, content)
按正規表示式regex規則,從頭開始匹配文字content
2result.group(number)
匹配子表示式,number表示子表示式在正規表示式中的位置
3result.span()
輸出結果在正規表示式中的索引範圍
4修飾符re.s,re.i等
re.s使.匹配包括換行符在內的所有字元,re.i忽略正規表示式中字母的大小寫
5re.search(『regex』, content, re.s)
不是從頭開始時匹配,而是掃瞄整個字串,返回第乙個成功匹配的結果
6re.compile(『regex』))
返回乙個正規表示式物件,以在後面繼續復用該物件
按正規表示式regex規則,從頭開始匹配
文字content,並返回成功匹配的內容。
import re
content =
'hello 123 4567 world_this is a regex demo'
result = re.match(
'^hello\s(\d\s\d)\sworld'
, content, re.i)
print
(result)
print
(result.group())
print
(result.group(1)
)print
(result.span(
))
輸出結果:
<_sre.sre_match object; span=
(0, 20), match=
'hello 123 4567 world'
>
hello 123 4567 world
123 4567
(0, 20)
不是從頭開始時匹配,而是掃瞄整個字串
,返回第乙個成功匹配的結果
import re
content =
'''
'''
result = re.search(
'.+(?=:)'
, content)
print
(result)
print
(result.group())
print
(result.span(
))
輸出結果:
(0, 4)掃瞄整個字串
,返回乙個列表
,包含所有成功匹配的結果。
輸出結果:import re
。content =
'''content is decided into two sections:
information about macromedia coldfusion.information about bluetooth, 802.11, and more.替換匹配到的文字
import re
content =
'''hello, [email protected] is my email address'''
result = re.sub(
'(\w+[\w\.]*@[\w\.]+\.\w+)'
,'$1'
, content)
(result)
hello, "mailto:$1"
>
$1 is my email address
re.sub不能使用正規表示式中的回溯引用來替換原文本
,只能簡單替換
。解決方案:將替換文字裡面的回溯引用$1替換為搜尋到的字串
。如下:
import re
content =
'''hello, [email protected] is my email address'''
searchresult = re.search(
'(\w+[\w\.]*@[\w\.]+\.\w+)'
, content)
subresult = re.sub(
'(\w+[\w\.]*@[\w\.]+\.\w+)'
,'+searchresult.group()+
">"
+searchresult.group()+
'"', content)
print
(subresult)
輸出結果:
hello, "mailto:[email protected]>[email protected]"
is my email address
返回乙個正規表示式物件
,以在後面繼續復用該物件
。
import re
content1 =
'''2016-12-15 12:00'''
content2 =
'''2016-12-17 12:55'''
content3 =
'''2016-12-22 13:21'''
pattern = re.
compile
('\d:\d'
)result1 = re.sub(pattern,
'', content1)
result2 = re.sub(pattern,
'', content2)
result3 = re.sub(pattern,
'', content3)
print
(result1, result2, result3)
輸出結果:
2016-12-15 2016-12-17 2016-12-22
Go語言中的正規表示式
語法 說明表示式例項 一般字元 匹配自身 abc 匹配abc 匹配任意除換行符 n 外的字元 a.b 轉義字元 a b 匹配a.b 字符集 字元類 對應的位置可以是字符集中任意字元,也可以給出範圍,如 abc 或 a c 第乙個字元為 則表示匹配除括號外其他的字元,所有特殊字元再字符集中都失去原有的...
C語言中嵌入正規表示式
標準的c和c 都不支援正規表示式,但有一些函式庫可以輔助c c 程式設計師完成這一功能,其中最著名的當數philip hazel的perl compatible regular expression庫,許多linux發行版本都帶有這個函式庫。c語言處理正規表示式常用的函式有regcomp regex...
C語言中的正規表示式實現
緣起於網易下屬某公司筆試的一道題目,用c c 實現乙個對 8 9 0 9 的正規表示式實現引擎。這道題目我做錯了,因為下意識地認為是 8 9 0 9 的表示式。回頭想想,如果不用正規表示式的庫,可以 trying to match 8 9 0 9 include include include in...