什么是正则表达式?
正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符。对于用户来说可能以前接触过DOS,如果想匹配当前文件下所有的文件文本,可以输入“dir *.txt”命令,按Enter键后所有“ *.txt”文件将会被列出来。这里的" *.txt"即可以理解为一个简单的正则表达式。

一个完整的正则表达式有两部分构成,“元字符和文本字符”。元字符就是具有特殊含义的字符,如“*” “?”。文本字符就是普通的文本,如字母和数字等。

正则表达式语法规则:

1 行定位符(^和)行定位符就是用来描述字串的边界。“”表示行的开始;“) 行定位符就是用来描述字串的边界。“^”表示行的开始;“)行定位符就是用来描述字串的边界。“”表示行的开始;“”表示行的结尾。

2 单词定界符(\b、\B)

使用tm可以匹配在字符串中出现的任何位置。那么类似html、utmost中的tm也会被查出来,但是现在需要匹配的是单词tm而不是单词的一部分。这是可以使用单词分界符\b,表示要查找的字串为一个完整的单词。如:

\B的意思和\b相反。它匹配的字串不能是一个完整的单词,而是其它单词或字串的一部分。如:

3 字符类([ ])

正则表达式是区分大小写的,如果要忽略大小写可使用方括号表达式“[ ]”。只要匹配的的字符出现在方括号内,即可表示匹配成功但要注意:一个方括号只能匹配一个字符。

一个字符如果不区分大小写,则表达式的格式:

                  posix预定义字符类

4 选择字符(|)
还有一种方法可以实现字符不区分大小写的格式,就是选择字符(|).选择字符(|)可以理解“或”
即格式为:


注意区别:使用"[ ]"和使用“|”的区别在于“[ ]”只能匹配单个字符,而“|”可以匹配任意长度的字串

5 连接符(-)

变量的命名规则是只能以字母和下划线开头,如果是这样正则表达式来匹配这些变量名的第一个字母,要写成

很麻烦 而正则表达式的连接符;可以表示字符的范围,上例可以写成:

6 排除字符([^])

匹配不符合命名规则的变量,正则表达式提供例如“^”字符。例如:


7 限定符(? * + {n,m})

经常使用Google的用户可能会发现,在搜索结果页的下方,Google中间字母O的个数会随着搜索页的改变而改变。对于重复出现的字母或字串,可以使用限定符来实现匹配。限定符主要有六种


8 点号字符(.)
正则表达式中可以通过点字符(.)来实现匹配任意字母。点字符(.)可以匹配出换行符外的任意一个字符。注意:是除了换行符外的、任意的一个字符。
如匹配以s开头,t结尾,中间包含一个字母的单词。格式如下:

若匹配的单词,它的第一个字母为r,第3个字母为s,最后一个单词为t,则正则表达式:

10 反斜线()
除了可以做转义字符外,反斜线还有其他一些功能;
(1)反斜线可以将一些不可打印的字符显示出来:
(2)还可以指定预定义字符集,


(3)反斜线定义断言

11 括号字符(())
小括号字符的第一个作用就是可以改变限定符的作用范围,如“|”,“*”,“^”。:


小括号的第二个作用是分组,也就是子表达式。如;(.[0-9]{1,3}){3},就是对分组(.[0-9]{1,3}){3}进行重复操作。

PHP正则表达式语法规则相关推荐

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

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

  2. 正则表达式语法规则收集

    turnmissile 的 Blog http://blog.csdn.net/turnmissile/ Microsoft已经把正则表达式的规则收录在了msdn里面了,有兴趣的朋友可以自己去研究一下 ...

  3. JS之正则表达式语法大全(非常详细)

    JS正则表达式语法大全(非常详细)根据正则表达式语法规则,大部分字符仅能够描述自身,这些字符被称为普通字符,如所有的字母.数字等. 元字符就是拥有特动功能的特殊字符,大部分需要加反斜杠进行标识,以便h ...

  4. 正则表达式语法及用法

    最全常用正则表达式大全: 最全常用正则表达式大全 什么是正则表达式? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替 ...

  5. 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 量词 ...

  6. LLVM一些语法规则

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

  7. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

  8. java 正则表达式 demo_JAVA正则表达式语法

    JAVA正则表达式语法(转) 正则表达式语法 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或 ...

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

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

最新文章

  1. 港府拟修例禁止电子烟入口及销售 保障市民健康
  2. 有关Non-cacheable,,Cacheable, non-shareable,inner-shareable,outer-shareable的理解
  3. mongodb与java结合_MongoDB初探系列之四:MongoDB与Java共舞
  4. bzoj1385: [Baltic2000]Division expression
  5. 抽象工厂模式(Absraact Factory)介绍与实现
  6. 中国石油大学计算机控制实验,《计算机控制》实验讲义.doc
  7. C#程序打包安装部署之创建快捷方式
  8. Cleaning Bad Data in R R语言数据清理教程 Lynda课程中文字幕
  9. 《java高并发编程详解》第0集
  10. lzg_ad:CMD下打开控制面板
  11. D365 窗体的 Lookup写法
  12. flex布局实现骰子六面的示例
  13. java 根据word文档模板导出word
  14. L1-040 最佳情侣身高差 (10分)(C语言)
  15. 学海无涯!java连接mysql
  16. Spring三级缓存源码
  17. androidkiller java sdk环境_AndroidKiller 编译问题
  18. nvidia-smi 中的 G 和 C 类型是什么意思?
  19. 使用Python辅助ArcGIS出图-使用ArcToolbox
  20. 小白的MatSWMM使用心路(一)——安装试运行过程与可能常见问题的解决

热门文章

  1. Address already in use:9191
  2. validate实现表单验证
  3. mybatis 连接池POOLED分析
  4. flink taskmanager 挂掉 报错No pooled slot available and request to ResourceManager for new slot failed
  5. RAID5与RAID10
  6. SQL注入攻击原理及防护方案
  7. 如何利用Web3D技术打造在线虚拟展览馆
  8. Leetcode 742. Closest Leaf in a Binary Tree
  9. 显示器花屏 还会出现重启
  10. Oracle如何将GMT时间(即格林尼标准时间)转换成标准时间格式