PHP正则表达式语法规则
什么是正则表达式?
正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符。对于用户来说可能以前接触过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正则表达式语法规则相关推荐
- (常用API)正则表达式语法规则
正则表达式的匹配规则 参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母.我们来学习语法规则. 正则表达式的语法规则: 字符:x 含义:代表的是字符x 例如:匹 ...
- 正则表达式语法规则收集
turnmissile 的 Blog http://blog.csdn.net/turnmissile/ Microsoft已经把正则表达式的规则收录在了msdn里面了,有兴趣的朋友可以自己去研究一下 ...
- JS之正则表达式语法大全(非常详细)
JS正则表达式语法大全(非常详细)根据正则表达式语法规则,大部分字符仅能够描述自身,这些字符被称为普通字符,如所有的字母.数字等. 元字符就是拥有特动功能的特殊字符,大部分需要加反斜杠进行标识,以便h ...
- 正则表达式语法及用法
最全常用正则表达式大全: 最全常用正则表达式大全 什么是正则表达式? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替 ...
- 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 量词 ...
- LLVM一些语法规则
LLVM一些语法规则 LLVM文档 LLVM编译器基础架构支持广泛的项目,从工业强度编译器到专门的JIT应用程序,再到小型研究项目. 同样,文档分为几个针对不同受众的高级别分组: LLVM设计概述 几 ...
- python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块
什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...
- java 正则表达式 demo_JAVA正则表达式语法
JAVA正则表达式语法(转) 正则表达式语法 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或 ...
- 良好的JavaScript编码风格(语法规则)
编码风格 1.概述 "编程风格"(programming style)指的是编写代码的样式规则.不同的程序员,往往有不同的编程风格. 有人说,编译器的规范叫做"语法规则& ...
最新文章
- 港府拟修例禁止电子烟入口及销售 保障市民健康
- 有关Non-cacheable,,Cacheable, non-shareable,inner-shareable,outer-shareable的理解
- mongodb与java结合_MongoDB初探系列之四:MongoDB与Java共舞
- bzoj1385: [Baltic2000]Division expression
- 抽象工厂模式(Absraact Factory)介绍与实现
- 中国石油大学计算机控制实验,《计算机控制》实验讲义.doc
- C#程序打包安装部署之创建快捷方式
- Cleaning Bad Data in R R语言数据清理教程 Lynda课程中文字幕
- 《java高并发编程详解》第0集
- lzg_ad:CMD下打开控制面板
- D365 窗体的 Lookup写法
- flex布局实现骰子六面的示例
- java 根据word文档模板导出word
- L1-040 最佳情侣身高差 (10分)(C语言)
- 学海无涯!java连接mysql
- Spring三级缓存源码
- androidkiller java sdk环境_AndroidKiller 编译问题
- nvidia-smi 中的 G 和 C 类型是什么意思?
- 使用Python辅助ArcGIS出图-使用ArcToolbox
- 小白的MatSWMM使用心路(一)——安装试运行过程与可能常见问题的解决
热门文章
- Address already in use:9191
- validate实现表单验证
- mybatis 连接池POOLED分析
- flink taskmanager 挂掉 报错No pooled slot available and request to ResourceManager for new slot failed
- RAID5与RAID10
- SQL注入攻击原理及防护方案
- 如何利用Web3D技术打造在线虚拟展览馆
- Leetcode 742. Closest Leaf in a Binary Tree
- 显示器花屏 还会出现重启
- Oracle如何将GMT时间(即格林尼标准时间)转换成标准时间格式