一、正则表达式的概念

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式的大致匹配过程:
1.依次拿出表达式和文本中的字符比较,
2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。
3.如果表达式中有量词或边界,这个过程会稍微有一些不同。

二、正则表达式的匹配规则

Python中正则表达式的一些匹配规则:

三、正则表达式相关注解

1、数量词的贪婪模式与非贪婪模式
        正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式”ab*”如果用于查找”abbbc”,将找到”abbb”。而如果使用非贪婪的数量词”ab*?”,将找到”a”。
    注:我们一般使用非贪婪模式来提取。

2、反斜杠问题
        与大多数编程语言相同,正则表达式里使用”\”作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符”\”,那么使用编程语言表示的正则表达式里将需要4个反斜杠”\\\\”:前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。
        Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r”\\”表示。同样,匹配一个数字的”\\d”可以写成r”\d”。有了原生字符串,妈妈也不用担心是不是漏写了反斜杠,写出来的表达式也更直观勒。

正则表达式30分钟教程、常用正则表达式:http://deerchao.net/

正则表达式的基本语法规则相关推荐

  1. (常用API)正则表达式语法规则

    正则表达式的匹配规则 参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母.我们来学习语法规则. 正则表达式的语法规则: 字符:x 含义:代表的是字符x 例如:匹 ...

  2. 10、正则表达式 (笔试题、语法规则、正则对象方法、正则实例属性、支持正则表达式的String对象的方法、贪婪匹配与非贪婪匹配)

    正则表达式 目录 10.1 语法规则 10.1.1 创建方法 1.直接量 2.构造方法RegExp() 10.1.2 三个属性i,g,m 10.1.3 方括号 10.1.4 元字符 10.1.5 量词 ...

  3. PHP正则表达式语法规则

    什么是正则表达式? 正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符.对于用户来说可能以前接触过DOS,如果想匹配当前文件下所有的文件文本,可以输入&q ...

  4. LLVM一些语法规则

    LLVM一些语法规则 LLVM文档 LLVM编译器基础架构支持广泛的项目,从工业强度编译器到专门的JIT应用程序,再到小型研究项目. 同样,文档分为几个针对不同受众的高级别分组: LLVM设计概述 几 ...

  5. 良好的JavaScript编码风格(语法规则)

    编码风格 1.概述 "编程风格"(programming style)指的是编写代码的样式规则.不同的程序员,往往有不同的编程风格. 有人说,编译器的规范叫做"语法规则& ...

  6. ANTLR4入门【打造你自己的语法规则】

    文章目录 什么是ANTLR4 ANTLR4的特点 ANTLR4的语法规则 语法规则的声明 .g4文件的代码规则 词法规则 语法规则 语法规则中的操作 如何使用ANTLR4 实战 IDEA安装ANTLR ...

  7. 炎炎夏日,深夜详谈nginx的配置中location和rewrite的语法规则(从入门到高手的第六步)

    前言 在生产实际中,当用户页面请求后,很多是需要自动跳转到其他特定页面,这个时候往往可以利用nginx配置中location规则或rewrite语法进行设置. Nginx提供的全局变量或自己设置的变量 ...

  8. javascript中正则表达式的基础语法

    前面的话 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为 ...

  9. .htaccess文件RewriteRule语法规则

    .htaccess文件是运行Apache Web Server的Web服务器的配置文件,对配置和重定向Apache Web Server文件系统很有用.请记住.htaccess文件将采用隐藏格式.没有 ...

最新文章

  1. python使用正则表达式寻找具有特定后缀的文件
  2. WIN7下回收站不小心删除的文件怎么恢复,免费数据恢复软件下载
  3. 网站内页权重高于首页的原因及解决方法攻略总结!
  4. 编译apache过程中出现如下错误及解决办法
  5. 转向与重定向的联系与区别
  6. lvds 共模电感_【成功案例】共模电感CM0805C221R-10解决车载LVDS信号的手持天线抗扰问题...
  7. python3一爬虫库url_python3爬虫之Urllib库(一)
  8. [设计模式-行为型]中介者模式(Mediator)
  9. 第 20 次 CSP认证 202009-2 风险人群筛查
  10. linux修改mysql配置文件_CentOS7离线安装 mysql,超细步骤,基础配置,90%小白10分钟学会...
  11. linux 不识别ar9380,用Linux做wifi熱點/無線路由
  12. 用excel打印工资条
  13. 学习python基础(六)
  14. 【JAVA百炼成仙】筑基篇——JAVA筑基
  15. Linux---虚拟机安装Linux系统与联网实现
  16. 陆平老师论文Closed-Loop Endoatmospheric Ascent Guidance读后总结
  17. Opencv学习记录(三) —— 得到图像中目标物坐标的简单处理算法(望指正与补充)
  18. Mac下修复Node版本不正确的问题
  19. 马云北大演讲,阿里巴巴为什么能活着?
  20. 用计算机弹出当当当,电脑发出“当当”的声音怎么办

热门文章

  1. [转载]Python中包装(wrapping)与代理(delegation)
  2. 第105章 SQL函数 %OID
  3. visual studio code 简介
  4. 视频监控系统中的流媒体服务器、直写和全切换三种取流架构方案
  5. 数学建模暑期集训26:遗传算法
  6. 锂矿降龙十八掌之时乘六龙
  7. 神雕侠侣服务器维修时间,《神雕侠侣2》手游新服开服时间表 7月30日新服
  8. php 413,PHPCMS上传错误413?
  9. FusionCharts参数简单说明
  10. 界面控件DevExpress发布v18.2.7,新版全新出发|附下载