正則表達式——子模式


import re
# string = "this is a love1ly girl lovel1y"
# pattern = re.compile(r"lovely")
# ret = pattern.search(string)
# print(ret.group())
# # group()是返回匹配的整個表達式的字符串


string = "額呵呵<span><div>床前明月光,疑是地上霜</div></span>"
pattern = re.compile(r"<(\w+)><(\w+).*</(\2)></(\1)>")
ret = pattern.search(string)

print(ret.group())

# 指返回匹配的整個表達式的第一個子模式的字符串
# 顯示結果:<span><div>床前明月光,疑是地上霜</div></span>

print(ret.group(1))

# group(1)表示匹配的第一個子模式的字符串,其他的同理
# 顯示結果:span

print(ret.group(2))
# 顯示結果:div




string = "lakdsk<span><div>醉卧沙場君莫笑</div></span>呵呵呵<a><div>古來征戰幾人回</div></a>哈哈哈"
pattern = re.compile(r"<(\w+)><(\w+)>.*</\2></\1>")
rer = pattern.search(string)

print(rer)
#顯示結果是一個對象
#顯示結果:<_sre.SRE_Match object; span=(6, 37), match='<span><div>醉卧沙場君莫笑</div></span>'>

print(rer.group())

#顯示結果:<span><div>醉卧沙場君莫笑</div></span>



pattern1 = re.compile(r"(<(\w+)><(\w+)>.*</\3></\2>)")

re1 =pattern1.findall(string)

print(re1)

#顯示結果:[('<span><div>醉卧沙場君莫笑</div></span>', 'span', 'div'), ('<a><div>古來征戰幾人回</div></a>', 'a', 'div')]
#注意:使用findall進行匹配時,有幾個子模式,就在列表中顯示幾個子模式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM