Python中正则表达式的使用
2021/9/9 1:07:31
本文主要是介绍Python中正则表达式的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在进行正则表达式匹配时,直接使用正则表达式引擎和通过python中的字符串输入正则表达式引擎,需要输入不同的字符串,其主要的区别在于转义符的使用,而其中又分三种情况:
- 转义符需要被python解析,以此输入部分python中的特殊字符
- 转义符需要被正则表达式引擎解析,以此输入部分正则表达式语句中的特殊字符。
- 转义符需要被正则表达式匹配
以下归纳整理三类python处理这一问题的方式:
1、鉴于python先解析字符串再将字符串输入正则表达式引擎,由引擎进行二次解析,故只需要通过逆推的方式计算正则表达式中转义符的个数
-
- 需要被python解析:前加一个'\'即可输入特殊字符
- 需要被正则表达式解析:在正则表达式中前加一个'\',由于输入正则表达式的应该是'\'本身,不能被解析为转义操作,故在转义符前加转义符,即使用'\\'
- 使用正则表达式匹配转义符:在正则表达式中表示为'\\',自然的,在python的字符串中应该被写为:'\\\\'
- 但是,这种最机械的写法会导致字符串中出现大量的转义符,影响简洁性和可读性
2、另一个选择是借用python的一个特殊机制——当出现python无法理解的语法时,python将不作解释直接将字符串输入引擎。
-
- 需要被python解析:如果利用这一机制,很可能将不会解析而产生语法问题
- 需要被正则表达式解析:正常使用前加'\',这也是这一异常处理机制的常规触发方式
- 匹配转义符:按道理应当是'\\',但是无法确定会被解析为'\‘输入还是会被不加解析输入,与其在字符串中的位置有一定关系。
- 综上,这一机制只适合那些只需在正则表达式中使用单次'\'的匹配场景
3、最好的办法是使用python的原生字符串r'string',它的作用是使python对该字符串的使用不加解析,从而在需要转义符出现在正则表达式中时,不需要使用'\\'而只需要使用'\'即可
-
- 需要被python解析:不能使用原生字符串
- 需要被正则表达式解析:只需使用'\'
- 需要匹配转义符:使用'\\'即可匹配
正则表达式的使用范围相当广泛,已经用这个做了一部分编码识别的项目并且分享了。之后还会上线一篇利用正则表达式匹配识别更多编码类型 的心得嗷~
这篇关于Python中正则表达式的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南