详解Python re.split.re函数:返回匹配的正则表达式对象

  • Post category:Python

下面是Python的re模块re.split的详细讲解。

re.split函数的作用

re.split方法是将一个字符串按照正则表达式匹配的模式进行分割,并返回分割后的字符串列表。下面是它的定义:

re.split(pattern, string, maxsplit=0, flags=0)
  • pattern: 需要匹配的正则表达式,可以是字符串、正则表达式对象或者可调用对象。
  • string: 需要进行分割的字符串。
  • maxsplit: 最大分割次数,超过这个次数后就不再进行分割。默认值为0,表示全部分割。
  • flags: 匹配模式,可以是多个模式组合使用,默认情况下为0。

re.split函数的使用方法

下面是一个简单的re.split函数的使用示例:

import re

string = 'hello, world!'
result = re.split(r',\s*', string)

print(result)  # ['hello', 'world!']

上述示例中,在字符串string中使用逗号作为分隔符进行分割,使用了正则表达式r',\s*'来匹配逗号后面的空格。

当然,re.split函数还支持更复杂的正则表达式,例如可以将连续的空格或标点符号作为分隔符来分割字符串,代码如下:

import re

string = 'hello; world! How   are you?'
result = re.split(r'[;,\s]+', string)

print(result)  # ['hello', 'world', 'How', 'are', 'you?']

上述示例中,使用正则表达式r'[;,\s]+'匹配连续的分号、逗号和空格,并进行分割。

re.split实例

下面是两个实际使用re.split函数的案例:

实例1:按照以数字开头的一段文本进行分割

import re

string = '0123abcdefg5678hijklmn9012opqr345stu'
result = re.split(r'\d+', string)

print(result)  # ['', 'abcdefg', 'hijklmn', 'opqr', 'stu']

上述示例中,使用正则表达式\d+匹配以数字开头的一段文本,并进行分割。

实例2:从文件名中分离出扩展名

import re

filename = 'example.py'
result = re.split(r'\.', filename)

print(result)  # ['example', 'py']

上述示例中,使用正则表达式\.匹配文件名中的文本".",并进行分割,得到文件名和扩展名的列表。