下面是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']
上述示例中,使用正则表达式\.
匹配文件名中的文本"."
,并进行分割,得到文件名和扩展名的列表。