利用Python正则表达式处理数据:10个常用函数
正则表达式是一种强大的模式匹配工具,可以用来处理文本数据。在Python中,可以通过re模块使用正则表达式来进行数据处理。本文将介绍10个常用的Python正则表达式函数,帮助您更好地处理数据。
1. re.match(pattern, string)
这个函数用来匹配字符串的开始部分。如果匹配成功,就返回一个匹配对象;如果匹配失败,就返回None。
import re
string = "Hello, world!"
pattern = "^Hello" # 匹配Hello
matchObj = re.match(pattern, string)
if matchObj:
print(matchObj.group())
else:
print("No match")
输出结果为:
Hello
2. re.search(pattern, string)
这个函数用来匹配字符串中的任意位置。如果匹配成功,就返回一个匹配对象;如果匹配失败,就返回None。
import re
string = "Hello, world!"
pattern = "world" # 匹配world
searchObj = re.search(pattern, string)
if searchObj:
print(searchObj.group())
else:
print("No match")
输出结果为:
world
3. re.findall(pattern, string)
这个函数用来查找所有匹配的字符串。如果没有找到任何匹配项,则返回空列表。
import re string = "Hello, world!" pattern = "o" # 查找所有的o findallObj = re.findall(pattern, string) print(findallObj)
输出结果为:
['o', 'o']
4. re.sub(pattern, repl, string)
这个函数用来替换字符串中的匹配项。它接受三个参数:pattern,被替换的字符串;repl,替换成哪个字符串;string,要操作的字符串。
import re string = "Hello, world!" pattern = "world" # 将world替换成Python replaceStr = "Python" subObj = re.sub(pattern, replaceStr, string) print(subObj)
输出结果为:
Hello, Python!
5. re.compile(pattern)
这个函数将一个正则表达式编译成一个正则表达式对象。编译后的正则表达式对象可以被多次使用以提高性能。
import re
string = "Hello, world!"
pattern = re.compile("o") # 编译正则表达式
findallObj = pattern.findall(string) # 使用编译后的正则表达式对象
print(findallObj)
输出结果为:
['o', 'o']
6. re.split(pattern, string)
这个函数用来按照指定的正则表达式在字符串中进行分割。它返回一个列表,其中包含所有被分割的部分。
import re string = "Hello, world!" pattern = "\W+" # 按照非字母数字字符进行分割 splitObj = re.split(pattern, string) print(splitObj)
输出结果为:
['Hello', 'world', '']
7. re.match.group()
这个方法返回匹配到的字符串。
import re string = "Hello, world!" pattern = "^Hello" # 匹配Hello matchObj = re.match(pattern, string) print(matchObj.group())
输出结果为:
Hello
8. re.match.start()
这个方法返回匹配到的字符串的起始位置。
import re string = "Hello, world!" pattern = "^Hello" # 匹配Hello matchObj = re.match(pattern, string) print(matchObj.start())
输出结果为:
0
9. re.match.end()
这个方法返回匹配到的字符串的结束位置+1。
import re string = "Hello, world!" pattern = "^Hello" # 匹配Hello matchObj = re.match(pattern, string) print(matchObj.end())
输出结果为:
5
10. re.match.span()
这个方法返回匹配到的字符串的起始位置和结束位置(包含)。
import re string = "Hello, world!" pattern = "^Hello" # 匹配Hello matchObj = re.match(pattern, string) print(matchObj.span())
输出结果为:
(0, 5)
总结:
正则表达式是一种非常强大的文本匹配工具,Python中的re模块提供了丰富的正则表达式操作函数。这些函数可以让您更好地处理和操作文本数据。以上介绍了10个常用的Python正则表达式函数,希望对您有所帮助。
