re.compile(pattern, flags=0) |构造方法,将正则表达式的字符串编译为一个 正则表达式对象 (正则对象)

应用

1.^$

^hello
hello world中的hello复合规则,但是word\nhello中的hello则不符合规则
开启re.multiline模式后,world\nhello中的hello也符合规则。

分组

引用’quote’ 引用的方法
在正则表达式中 (?P=quote) \1
在匹配的结果中 m.group('quote') m.end('queto')
在re.sub中的repl里 \g<quote> \g<1> \1

api

1.元字符

符号 描述
. 1.默认模式匹配除换行符外所有字符;2.flag=DOTALL时则匹配所有字符包含换行符
\w 匹配字符
\s 空白字符,[ \t\n\r\f\v]
\d 十进制数,相当于[0-9]
\D \d相反,非十进制数[^0-9]
\S 非空白字符
\W 匹配非字符

2.限定符

符号 描述
* 匹配前面字符或RE的0次或多次
+ 匹配前面字符或RE的1次或多次
? 匹配前面字符或RE的0次或1次
{m} 匹配前面字符m次
{m,n} 匹配前面字符m到n次
{m,n}? 非贪婪匹配

3.限位符

符号 描述
^ 1.匹配字符串开始位置;2.在MULTILINE模式下每个换行符后立即匹配
$ 1.匹配字符串结束位置;2.在MULTILINE模式下每个换行符后立即匹配
\b 匹配空字符串r’\bfoo\b’匹配’foo’, ‘foo.’, ‘(foo)’, ‘bar foo baz’ but not ‘foobar’ or ‘foo3’.
\B \b相反,r’py\B’ matches ‘python’, ‘py3’, ‘py2’, but not ‘py’, ‘py.’, or ‘py!’.
\Z 只匹配字符串的末尾。只能放在正则表达式末尾
\A 只匹配字符串的开头。只能放在正则表达式开头

4.贪婪与懒惰

符号 描述
*?, +?, ?? 消除贪婪模式,’ b ‘,<.*>非贪婪模式下为’’

5.分组

符号 描述
(...) 在匹配完成后可以检索组的内容,并且可以在后面的字符串中使用\number特殊序列进行匹配
\number 匹配相同编号的组的内容。 例如(.+) \1 这个式子等价于(.+) (.+)
(?P<name>...) 与常规圆括号类似,但可以通过符号组名称来访问与该组匹配的子字符串。
(?P=name) 对指定组的引用

6.零宽断言

符号 描述
(?=...) 如果…末尾有…才匹配,例如, Isaac(?=Asimov) 只有跟随着’Asimov’才会匹配’Isaac’。
(?!...) 如果…末尾没有…才匹配,例如,Isaac(?!Asimov)只有在没有跟随’Asimov’时才会匹配’Isaac’。
(?<=...) 如果开头有…才匹配,
(?<!...) 如果开头没有…才匹配
(?(id/name)yes-pattern|no-pattern)

7.取其一

符号 描述
[] 1.匹配包含的任意一个;2.匹配范围,比如[a-z]匹配a到z的任意一个,[0-5][0-9]匹配0059,[0-9A-Fa-f]匹配十六进制,-转义或在开始或结束匹配一个字母
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
A|B 逻辑或,匹配到A或B既停止

8.转义

符号 描述
\ 转义,在字符串前添加r会取消转义

9.注释

(?#...)

参考:
https://www.jianshu.com/p/147fab022566

regrex pattern相关推荐

  1. java中的pattern_Java Pattern的用法是什么?

    展开全部 java 中pattern为正则表达式的编译表示形式.指定为字符串的正则表达式必须首先被编译为此类的实例.然后,62616964757a686964616fe58685e5aeb931333 ...

  2. LeetCode刷题记录11——290. Word Pattern(easy)

    LeetCode刷题记录11--290. Word Pattern(easy) 目录 LeetCode刷题记录11--290. Word Pattern(easy) 题目 语言 思路 源码 后记 题目 ...

  3. Observer Pattern 观察者模式

    Observer Pattern (观察者模式) 定义: <设计模式>中对Observer模式的意图是这样描述的:"定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, ...

  4. Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) B. Verse Pattern 水题

    B. Verse Pattern 题目连接: http://codeforces.com/contest/722/problem/B Description You are given a text ...

  5. 翻译:java.util.regex.Pattern

    java.util.regex.Pattern A compiled representation of a regular expression. A regular expression(正则表达 ...

  6. IronPython系列:Composite Pattern及其实现

    最近挺经常做鱼的.对于做鱼的步骤算是熟悉.以烤制为例,主要有三步:洗(Clean).切(Cut)和烤(Bake).烤鱼(Bake)又有两个小步:加热(Heat)和烤(Bake).软件开发也是这样,整个 ...

  7. 装饰模式(Decorator Pattern)

    装饰模式(Decorator Pattern) 一句话                                                                 继承一个抽象类, ...

  8. (转载)深入浅出设计模式——桥接模式(Bridge Pattern)

    模式动机设想如果要绘制矩形.圆形.椭圆.正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色.绿色.蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套 ...

  9. Python 出现 can't use a string pattern on a bytes-like object

    # coding=utf-8 import urllib.request import re url = 'http://www.163.com' file = 'd:/test.html' data ...

最新文章

  1. c语言中程序偏离,C语言中的指针加减偏移量
  2. Property list types and their various representations
  3. 首记,一种新的企业信息化平台开发方案——AgileEAS.NET框架
  4. win32程序启用控制台-- 调试输出
  5. TextView显示颜色高亮的问题
  6. 某公司故障分析案例(实战案例)
  7. 微服务统计,分析,图表,监控, 分布式追踪一体化的 HttpReports 在 .Net Core 的应用...
  8. VS2015无法打开包括文件corecrt.h 无法打开文件ucrtd.lib
  9. 将远程计算机上的文件夹,如何将现有网站上虚拟目录创建到驻留在远程计算机上的文件夹...
  10. LeetCode(908)——最小差值 I(JavaScript)
  11. 实习踩坑之路:Mybatis写的sql语句有<符号的问题导致项目启动失败以及count(*)怎么对应到某个实体类的字段
  12. odbc监控oracle,在zabbix下面使用ODBC 监控oracle数据库(11.2.0.3)和mysql数据库
  13. mysql 分库外置索引,MySQL的分库分表与Innodb的Btree索引
  14. dqo变换_一种基于dqo变换改进的电流检测新方法
  15. php处理头像,(头像处理)PHP把图片转换成圆形png
  16. java新闻网站项目描述_基于jsp的新闻网站-JavaEE实现新闻网站 - java项目源码
  17. Kali-linux-2020 sqli-labs环境配置(含网上最全Less-29在Kali上的配置)
  18. Live800:中小企业如何选择在线客服系统?
  19. Arduino超声波传感器使用
  20. Linux基础命令之tar解压缩详解

热门文章

  1. c语言结果输出10遍,C语言 如何实现输出这样一系列输出结果
  2. 向mysql中添加更新时间_mysql 实现添加时间自动添加更新时间自动更新操作
  3. Python+pandas使用交叉表分析超市营业额数据
  4. full gc 次数_32. GC 是怎样工作的?
  5. e3 1231 v3 达芬奇_Premiere和达芬奇调色,都是最新版
  6. LeetCode-35 搜索插入位置
  7. ICT学习笔记(2)网络各层次的相关内容
  8. php数据库显示+ajax,如何使用PHP和AJAX显示MySQL数据库
  9. linux 进程状态 load,Linux - 系统指标 CPU load
  10. mt4软件较稳定的交易商服务器地址,外汇MetaTrader 4 常见交易商服务器ip地址汇总...