深入浅析正则表达式re模块(部分)
正则表达式(Regular Expression)是一种描述字符串规则的方式,类型不仅仅局限于Python,而是能够跨语言使用。在Python中,使用正则表达式需要re模块支持。
re的基本用法
re模块提供了两种基本操作:匹配和搜索。
匹配
使用re模块的match()函数进行匹配,该函数可以在字符串的开头进行匹配。如果匹配成功,就返回一个匹配对象。
示例1:
import re
str = 'hello world'
pattern = 'hello'
result = re.match(pattern, str)
print(result)
输出:<re.Match object; span=(0, 5), match='hello'>
注:span表示匹配的范围,match表示匹配的字符串。
示例2:使用match()函数进行匹配,但匹配失败
import re
str = 'hello world'
pattern = 'hi'
result = re.match(pattern, str)
print(result)
输出:None
搜索
搜索与匹配类似,但搜索可以从字符串的任意位置开始。
示例3:使用re模块的search()函数进行搜索
import re
str = 'hello world'
pattern = 'world'
result = re.search(pattern, str)
print(result)
输出:<re.Match object; span=(6, 11), match='world'>
re的高级用法
匹配多个字符
使用 *
匹配任意长度的字符, +
至少匹配1个字符, ?
匹配0或1个字符。
示例4:使用 *
匹配多个字符
import re
str = 'helloooooooooo world'
pattern = 'o*'
result = re.search(pattern, str)
print(result)
输出:<re.Match object; span=(1, 14), match='elloooooooooo'>
注:o*
表示匹配任意长度的 'o'。
示例5:使用 +
至少匹配1个字符
import re
str = 'hello world'
pattern = 'l+'
result = re.search(pattern, str)
print(result)
输出:<re.Match object; span=(2, 4), match='ll'>
注:l+
表示至少匹配1个 'l'。
匹配指定字符
可以使用 []
匹配指定字符。
示例6:使用 []
匹配指定字符
import re
str = 'hello world'
pattern = '[l,o]'
result = re.search(pattern, str)
print(result)
输出:<re.Match object; span=(2, 3), match='l'>
注:[l,o]
表示匹配 'l' 或 'o'。
结语
以上就是re模块的部分内容。re模块提供了非常强大的字符串匹配功能,为Python处理各种字符串规则提供了强大的支持。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深入浅析正则表达式re模块(部分) - Python技术站