欢迎访问宙启技术站
智能推送

利用Python正则表达式处理数据:10个常用函数

发布时间:2023-06-20 12:38:24

正则表达式是一种强大的模式匹配工具,可以用来处理文本数据。在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正则表达式函数,希望对您有所帮助。