Python正則表達式如何匹配子串
Python正則表達式有很多的時候需要我們進行子串的匹配,不單在進行替換的時候需要進行,在很多的地方都會用到這些代碼。下面我們就來詳細的學習如何用Python正則表達式獲取自己想得到的匹配子串。
獲取Python正則表達式所匹配的子串(Get the part of a string matched by the regex)
- regex=ur"..." #正則表達式
- 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"..." #正則表達式
- 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"..." #正則表達式
- match = re.search(regex, subject)
- if match:
- result = match.group("groupname")
- else:
- result = ""
將字符串中所有匹配的子串放入數組中(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正則表達式 字符串創建一個正則表達式對象(Create an object to use the same regex for many operations)
- rereobj = re.compile(regex)
用法1的Python正則表達式對象版本(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正則表達式對象版本(use regex object for if/else branch whether a string can be matched entirely)
- rereobj = re.compile(r"\Z") #正則表達式末尾以\Z 結束
- if reobj.match(subject):
- do_something()
- else:
- do_anotherthing()
以上就是對Python正則表達式在獲取匹配子串應用的介紹。
【編輯推薦】