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正则表达式在获取匹配子串应用的介绍。
【编辑推荐】