Python正則表達(dá)式如何匹配子串
Python正則表達(dá)式有很多的時候需要我們進(jìn)行子串的匹配,不單在進(jìn)行替換的時候需要進(jìn)行,在很多的地方都會用到這些代碼。下面我們就來詳細(xì)的學(xué)習(xí)如何用Python正則表達(dá)式獲取自己想得到的匹配子串。
獲取Python正則表達(dá)式所匹配的子串(Get the part of a string matched by the regex)
- regex=ur"..." #正則表達(dá)式
- match = re.search(regex, subject)
- if match:
- result = match.group()
- else:
- result = ""
獲取捕獲組所匹配的子串(Get the part of a string matched by a capturing group)
- regex=ur"..." #正則表達(dá)式
- match = re.search(regex, subject)
- if match:
- result = match.group(1)
- else:
- result = ""
獲取有名組所匹配的子串(Get the part of a string matched by a named group)
- regex=ur"..." #正則表達(dá)式
- match = re.search(regex, subject)
- if match:
- result = match.group("groupname")
- else:
- result = ""
將字符串中所有匹配的子串放入數(shù)組中(Get an array of all regex matches in a string)
- reresult = re.findall(regex, subject)
遍歷所有匹配的子串(Iterate over all matches in a string)
- for match in re.finditer(r"<(.*?)\s*.*?/\1>", subject)
- # match start: match.start()
- # match end (exclusive): match.end()
- # matched text: match.group()
通過Python正則表達(dá)式 字符串創(chuàng)建一個正則表達(dá)式對象(Create an object to use the same regex for many operations)
- rereobj = re.compile(regex)
用法1的Python正則表達(dá)式對象版本(use regex object for if/else branch whether (part of) a string can be matched)
- rereobj = re.compile(regex)
- if reobj.search(subject):
- do_something()
- else:
- do_anotherthing()
用法2的Python正則表達(dá)式對象版本(use regex object for if/else branch whether a string can be matched entirely)
- rereobj = re.compile(r"\Z")?。U齽t表達(dá)式末尾以\Z 結(jié)束
- if reobj.match(subject):
- do_something()
- else:
- do_anotherthing()
以上就是對Python正則表達(dá)式在獲取匹配子串應(yīng)用的介紹。
【編輯推薦】