一、初识正则表达式
为了使计算机具有在文本中检索某种模式的能力,我们引入了正则表达式。
正则表达式为高级的文本模式匹配、抽取或者文本形式的搜素和替换功能提供了基础。利用正则表达式能够匹配多个字符串。
正则表达式的强大之处在于引入了特殊字符来定义字符集、匹配子组和重复模式。由于有了这些特殊符号,正则表达式可以匹配字符串集合,而不仅仅是某单个字符串。
特点:
1.灵活性、功能性、逻辑性强
2.可以用简单的方式对字符串实现复杂控制
二、正则匹配规则
∙数字和字母都表示它本身
∙很多字母前加 \ 会有特殊含义
∙绝大多数标点符号都有特殊含义,需要用加 \
三、正则匹配模式
∙ 特殊符号的含义
∙ 特殊字母的含义
四、re模块
4.1查找相关方法
4.2 替换(sub)
re.sub(pattern, repl, string, count=0, flags=0) # repl表示替换后的字符或函数,count表示替换次数
如果repl为一个函数,sub内部会自动调用该函数并传参,参数为每一个匹配到的re.Match格式的数据
4.3 re.Match类
4.3 re.compile类
使用方法:
a = re.compile(正则规则) # a为Pattern对象
b = a.search(要匹配的字符串1)
c = a.search(要匹配的字符串2)
五、正则修饰符
六、贪婪模式和非贪婪模式
在正则模式里会默认尽可能匹配更多的字符串,即贪婪模式。在贪婪模式会加 ?会切换到非贪婪模式。