我是靠谱客的博主 酷炫玫瑰,最近开发中收集的这篇文章主要介绍python正则_Python 正则表达式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

正则表达式

  • 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
  • 在线测试工具http://tool.chinaz.com/regex/
  • 处理同一位置上,可以出现的字符范围
  • 字符组概念及表示方法 : [字符组]
  • 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示
  • 字符分为很多类,比如数字、字母、标点等等。
  • 假如你现在要求一个位置"只能出现一个数字",那么这个位置上的字符只能是0、1、2...9这10个数之一。
13db9faea98a931b13c16d3bd5b73379.png

字符

7935a44c23aa3d95ba21b85c073ddd8a.png

量词

d7044c50f683336cca4d55dcee34ec28.png

.^$混用

bc9b26cddb78fdd1b10c794578219ef8.png

*+?{}混用

738137c5270d8d0fb0b805ad18558c35.png

PS:前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配

3b4be0dada7db58feeab5f27c8ba4474.png

字符集[][^]

b3d6c7931c8c9d637b22f0884aa023dd.png

分组 ()与 或 |[^]

身份证号码是一个长度为15或18个字符的字符串,如果是15位则全部有数字组成,首位不能为0;如果是18位,则前17位全部是数字,末位可能是数字或x,下面我们尝试用正则来表示

f978b5f4789edee6fc0b6fdc133fb76b.png

转义符

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

在python中,无论是正则表达式,还是待匹配的内容,都是以字符串的形式出现的,在字符串中也有特殊的含义,本身还需要转义。所以如果匹配一次"d",字符串中要写成'd',那么正则里就要写成"d",这样就太麻烦了。这个时候我们就用到了r'd'这个概念,此时的正则是r'd'就可以了。

f20cbf1c5058d98e2bc2462e43dd3a35.png

贪婪匹配

贪婪匹配:在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配

268f302455314db7ba08c0d883c539cc.png

几个常用的非贪婪匹配Pattern

*? 重复任意次,但尽可能少重复

+? 重复1次或更多次,但尽可能少重复

?? 重复0次或1次,但尽可能少重复

{n,m}? 重复n到m次,但尽可能少重复

{n,}? 重复n次以上,但尽可能少重复

*?的用法

. 是任意字符

* 是取 0 至 无限长度

? 是非贪婪模式。

何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:

.*?x

就是取前面任意长度的字符,直到一个x出现

58df41d3e4a5f954875d9572299bc0b2.png

#Python# #笨办法学Python 3# #Python入门推荐#

最后

以上就是酷炫玫瑰为你收集整理的python正则_Python 正则表达式的全部内容,希望文章能够帮你解决python正则_Python 正则表达式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部