python常用的正则表达式大全

 更新时间:2022年02月23日 15:57:04   作者:黑夜中奔跑  
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,下面这篇文章主要给大家介绍了关于python常用正则表达式的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下

1.正则表达式

正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导,例如:

其中**r“\d+”**正则表达式表示匹配连续的多个数值,search是re中的函数,从"abc123cd"字符串中搜索连续的数值,得到"123",返回一个匹配对象,结果如上.

2.字符串"\d"匹配0~9之间的一个数值

3.字符"+"重复前面一个匹配字符一次或者多次.

注意:**r"b\d+"**第一个字符要匹配"b",后面是连续的多个数字,因此"是b1233",不是"a12".

4.字符"*"重复前面一个匹配字符零次或者多次.

“" 与 "+"类似,但有区别,列如:

可见 r"ab+“匹配的是"ab”,但是r"ab “匹配的是"a”,因为表示"b"可以重复零次,但是”+“却要求"b"重复一次以上.

5.字符"?"重复前面一个匹配字符零次或者一次.

匹配结果"ab”,重复b一次.

6.字符".“代表任何一个字符,但是没有特别声明时不代表字符”\n".

结果“.”代表了字符"x".

7."|"代表把左右分成两个部分 .

结果匹配"ab"或者"ba"都可以.

8.特殊字符使用反斜杠"“引导,例如”\r"、"\n"、"\t"、"\"分别表示回车、换行、制表符号与反斜线自己本身.

9.字符"\b"表示单词结尾,单词结尾包括各种空白字符或者字符串结尾.

结果匹配"car",因为"car"后面是一个空格.

10."[]中的字符是任选择一个,如果字符ASCll码中连续的一组,那么可以使用"-"字符连接,例如[0-9]表示0-9的其中一个数字,[A-Z]表示A-Z的其中一个大写字符,[0-9A-z]表示0-9的其中一个数字或者A-z的其中一个大写字符.

11."^"出现在[]的第一个字符位置,就代表取反,例如[ ^ab0-9]表示不是a、b,也不是0-9的数字.

12."\s"匹配任何空白字符,等价"[\r\n\x20\t\f\v]"

13."\w"匹配包括下划线子内的单词字符,等价于"[a-zA-Z0-9]"

14."$"字符比配字符串的结尾位置

匹配结果是最后一个"ab",而不是第一个"ab"

15.使用括号(…)可以把(…)看出一个整体,经常与"+"、"*"、"?"的连续使用,对(…)部分进行重复.

结果匹配"abab","+“对"ab"进行了重复

16.查找匹配字符串

正则表达式re库的search函数使用正则表达式对要匹配的字符串进行匹配,如果匹配不成功返回None,如果匹配成功返回一个匹配对象,匹配对象调用start()函数得到匹配字符的开始位置,匹配对象调用end()函数得到匹配字符串的结束位置,search虽然只返回匹配第一次匹配的结果,但是我们只要连续使用search函数就可以找到字符串全部匹配的字符串.

匹配找出英文句子中所有单词

我们可以使用正则表达式r”[A-Za-z]+\b"匹配单词,它表示匹配由大小写字母组成的连续多个字符,一般是一个单词,之后"\b"表示单词结尾.

程序开始匹配到一个单词后m.start(),m.end()就是单词的起始位置,s[start:end]为截取的单词,之后程序再次匹配字符串s=s[end:],即字符串的后半段,一直到匹配完毕为止就找出每个单词.

总结 

到此这篇关于python常用正则表达式的文章就介绍到这了,更多相关python正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 实现数据结构-循环队列的操作方法

    Python 实现数据结构-循环队列的操作方法

    这篇文章主要介绍了Python 实现数据结构-循环队列的操作方法,需要的朋友可以参考下
    2019-07-07
  • Python基于mysql实现学生管理系统

    Python基于mysql实现学生管理系统

    这篇文章主要为大家详细介绍了Python基于mysql实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 使用Python中OpenCV和深度学习进行全面嵌套边缘检测

    使用Python中OpenCV和深度学习进行全面嵌套边缘检测

    这篇文章主要介绍了使用Python中OpenCV和深度学习进行全面嵌套边缘检测,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python爬虫利用代理池更换IP的方法步骤

    python爬虫利用代理池更换IP的方法步骤

    这篇文章主要介绍了python爬虫利用代理池更换IP的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python制作一个桌面便签软件

    python制作一个桌面便签软件

    这篇文章主要介绍了python制作一个桌面便签软件分别给大家附上ubuntu和windows版的程序及源码,有需要的小伙伴可以参考下。
    2015-08-08
  • PyQt5 实现百度图片下载器GUI界面

    PyQt5 实现百度图片下载器GUI界面

    本文主要介绍了通过 Pyqt5 实现一个界面化的下载器,在通过网络请求实现各种类型的图片的下载。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 如何将 awk 脚本移植到 Python

    如何将 awk 脚本移植到 Python

    脚本是解决问题的有效方法,而 awk 是编写脚本的出色语言。它特别擅长于简单的文本处理,它可以带你完成配置文件的某些复杂重写或目录中文件名的重新格式化。这篇文章主要介绍了如何把 awk 脚本移植到 Python,需要的朋友可以参考下
    2019-12-12
  • 在Mac OS上使用mod_wsgi连接Python与Apache服务器

    在Mac OS上使用mod_wsgi连接Python与Apache服务器

    这篇文章主要介绍了在Mac OS上使用mod_wsgi连接Python与Apache服务器的方法,同时文中还介绍了使用Python的Django框架时mod_wsgi连接方式下可能遇到的问题的一般解决方法,需要的朋友可以参考下
    2015-12-12
  • Python实现提取或替换PPT中文本与图片的示例代码

    Python实现提取或替换PPT中文本与图片的示例代码

    这篇文章主要为大家详细介绍了Python如何实现提取保存ppt中的图片和替换ppt模板的文本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-01-01
  • PyCharm中的terminal运行从PS修改成cmd方式

    PyCharm中的terminal运行从PS修改成cmd方式

    这篇文章主要介绍了PyCharm中的terminal运行从PS修改成cmd方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论