Python一文轻松搞定正则匹配
在Python中,我们可以使用re模块来进行正则表达式的匹配。下面是一些常用的正则表达式匹配函数:
- re.match()
match函数只从字符串的开始进行匹配,如果字符串开始不符合正则表达式,则匹配失败,函数返回None。
import re
string = "Let's learn Python."
matchObj = re.match(r'Let\'s', string)
if matchObj:
print("match Found: ", matchObj.group())
else:
print("No match found")
- re.search()
search函数会扫描整个字符串并返回第一个成功的匹配。
import re
string = "Let's learn Python."
matchObj = re.search(r'Python', string)
if matchObj:
print("search Found: ", matchObj.group())
else:
print("No search found")
- re.findall()
findall函数搜索整个字符串并返回所有成功的匹配,返回的是一个列表。
import re
string = "Let's learn Python. Python is fun."
matches = re.findall(r'Python', string)
print(matches) # ['Python', 'Python']
- re.split()
split函数可以将字符串通过匹配正则表达式的部分进行分割。
import re
string = "Let's learn Python. Python is fun."
matches = re.split(r'\. ', string)
print(matches) # ['Let's learn Python', "Python is fun."]
- re.sub()
sub函数可以将字符串中匹配正则表达式的部分进行替换。
import re
string = "Let's learn Python. Python is fun."
newString = re.sub(r'Python', 'Java', string)
print(newString) # 'Let's learn Java. Java is fun.'
- re.fullmatch()
fullmatch函数会检查整个字符串是否匹配正则表达式,如果是开始和结束都匹配,则返回Match对象,否则返回None。
import re
string = "Let's learn Python."
matchObj = re.fullmatch(r'Let\'s learn Python\.', string)
if matchObj:
print("match Found: ", matchObj.group())
else:
print("No match found")
- re.compile()
compile函数可以将正则表达式编译成一个对象,这样可以提高匹配效率。
import re
pattern = re.compile(r'Python')
string = "Let's learn Python. Python is fun."
matches = pattern.findall(string)
print(matches) # ['Python', 'Python']
以上就是Python中常用的正则表达式匹配函数。
评论已关闭