python正規表示式括號問題

2021-10-10 01:16:51 字數 492 閱讀 7220

正規表示式中的圓括號()的作用是對字元或元字元分組。

我錯把它的作用認為是將圓括號內的字元看成乙個整體。

儘管在一些正則測試**上,進行匹配時,把括號內的字元看成乙個整體來匹配也能匹配到想要的結果。測試**如:regex101

然而在在寫python程式的時候,會出現不是我想要的結果。

如果正規表示式中多出使用了圓括號進行分組的話。

在使用findall方法匹配結果就會只有分組的結果(即括號內表示式匹配的內容),而不是整個表示式所匹配的內容。

如果使用search方法匹配,對返回的matcher物件呼叫group()方法可以獲取完整的結果。但是在需要匹配多個結果時,還得用findall

所以在使用正規表示式時,若像我不太熟悉的話,避免使用圓括號來把一段表示式看成乙個整體。

正規表示式 括號

用字元組和量詞可以匹配引號字串,也可以匹配 html tag,如果需要用正規表示式匹配身份證號碼,依靠字元組和量詞能不能做到呢?身份證號碼是乙個長度為15或18個字元的字串,如果是15位,則全部由數字組成,首位不能為0 如果是18位,則前17位全部是數字,末位可能是數字,也可能是x。規則非常明確,可...

Python 正規表示式 或者 圓括號

或者 import re m re.search abc xyz xyz abc xyz 兩個中間取乙個,or if m is not none print m.group else print not find 圓括號 import re abc abcabc abc abcc m re.sear...

python正規表示式中的括號匹配問題

問題 m re.findall 0 9 4 0 9 4 www.cppcns.com 可以匹配到4.m re.findall 0 9 rotaarvbez 4 0 9 4 匹配不到4.這是為什麼呢?ps,這個是乙個簡化的說明,我要用的正則比這個複雜,所以要用到 表示乙個序列的匹配。補充一點,我放在n...