[英]Regex – re.sub explanation
在正則表達式中,括號是一個捕獲組。 這意味着您想要保存比賽的一個特定部分,並在以后使用它。 \g<1>
是一種表示“第一個捕獲組”的方式, \g<2>
是一種表示“第二個捕獲組”的方式,依此類推。
re.sub()
的行為很有趣。 第一個字符串是要查找的內容,第二個字符串是替換它的內容。 如果您將第二個字符串留空,它只會刪除匹配項; 如果您添加一些文本,它將用該文本替換所有匹配項。 但是,如果您想獲取匹配的文本並將其添加回來怎么辦? 這就是\g<#>
派上用場的地方,使用它。 您可以將匹配的相同字符串放回找到它的位置。
(gr[ae]y)
的意思是“如果你發現grey
或gray
,像往常一樣刪除它,但也要記住它。” 替換字符串\g<1>blue
的意思是“取我們記得的第一個匹配項, "grey"
;添加該文本,然后在其后面加上blue
”。 因此, greyblue
是結果,因為它像正常一樣刪除了grey
,但隨后將其插入blue
之前。()gr[ae]y
的意思是“如果你發現grey
或gray
,像往常一樣刪除它,但記住它前面的空字符串。” 替換字符串\g<1>blue
的意思是“取我們記得的第一個匹配項, ""
;添加該文本,然后在其后面加上blue
”。 因此,結果是blue
,因為它像平常一樣刪除了grey
,並在blue
之前插入了一個空字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.