前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python初识模块之正则表达式

Python初识模块之正则表达式

作者头像
全栈程序员站长
发布2022-09-14 11:14:52
1770
发布2022-09-14 11:14:52
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

什么是正则表达式

  正则表达式是字符串匹配的一种规则,在线测试工具http://tool.chinaz.com/regex/

代码语言:javascript
复制
[字符组]在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
字符分为很多类,比如数字、字母、标点等等。
假如你现在要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。
[0-9]、[a-z]、[A-Z]、[0-9a-z]等等都是字符组的应用,注意一个字符组只匹配一个字符哦

  字符:

元字符  匹配内容

.     除换行符以外的任意字符

\w    匹配字母,数字,下划线 –word

\s     匹配所有空白符 –space

\d     匹配数字 –digit

\W    匹配非字母,数字,下滑线的字符

\S    匹配非空白符

\D    匹配非数字

\n    匹配一个换行符

\t     匹配制表符 –table

.\b    匹配一个单词的结尾(不好用)

^     匹配字符串的开头

     匹配字符串的结束,与^连用可以严格约束字符串 eg: ^[a-z]只能匹配一个字母

|     或,从左到右匹配,所以长的应该在前,短的在后

()     表示一个组

[^…]    除了…的所有字符 eg: [^a-z]

  量词:用来约束紧跟着的字符,贪婪匹配,尽可能匹配多次

*    表示重复0次或多次

+    表示重复1次或多次

?    表示重复0次或1次

{n}    重复n次

{n,}   重复n次或多次

{n,m}   重复n次或m次  

  在量词后面加上?就变成了非贪婪匹配,也叫惰性匹配

  忘川和忘清和忘了学习

忘.?  忘川 忘清 忘了 ?0次或1次

忘.*   忘川和忘清和忘了学习 0次或多次

忘.+   忘川和忘清和忘了学习 1次或多次

忘.{1,2} 忘川和 忘清和 忘了学 1次或2次

忘.*?   忘 忘 忘 加上?时变成了惰性匹配

忘[川清了学习]* 忘川 忘清 忘了学习

忘[^和]*   忘川 忘清 忘了学习

  转义符 \

在正则表达式中,有很多有特殊意义的是元字符,比如\n和\s等,如果要在正则中匹配正常的”\n”而不是”换行符”就需要对”\”进行转义,变成’\\’。

但在很多时候这样会很麻烦,所以可以在使用正则时在想要匹配的字符串前加上r eg: r’\n’

  贪婪匹配+?

*?    重复任意次,但尽可能少重复 +?   重复1次或更多次,但尽可能少重复 ??   重复0次或1次,但尽可能少重复 {n,m}? 重复n到m次,但尽可能少重复 {n,}?  重复n次以上,但尽可能少重复

.*?x  重复任意次,直到x出现

转载于:https://www.cnblogs.com/xfdhh/p/9943489.html

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158394.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是正则表达式
    •   字符:
      •   量词:用来约束紧跟着的字符,贪婪匹配,尽可能匹配多次
        •   忘川和忘清和忘了学习
          •   转义符 \
            •   贪婪匹配+?
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档