pattern modifiers – 规则表达式的修饰符

下面是当前规则表达式里可用的修饰. 括号内的名字是那些修饰符的内部 pcre 名字.

i (pcre_caseless)

如果设置了这个修饰符, 则表达式不区分大小写.

m (pcre_multiline)

默认的, pcre 认为目标字符串值是单行字符串 (即使他确实包含多行). 行开始标记 (^) 只匹配字符串的开始部分, 而行结束标记 ($) 只匹配字符串的尾部,或者一个结束行(除非指定 e 修饰符). 这个和 perl 里面一样.

如果设定了这个修饰符, 行开始和行结束结构分别匹配在目标字符串任何新行的当前位置后面的或者以前的, 和每一个开始和结束一样. 这个等于 perl 里面的 /m 修饰符. 如果目标字符串没有 "n" 字符, 或者模式里没有 ^ 或 $ ,这个修饰符不起作用.

s (pcre_dotall)

如果设置这个修饰符, 模式里的一个"点"将匹配所有字符, 包括换行. 没有他, 换行将被排除在外. 这个修饰符等同于 perl 里面的 /s 修饰符. 一个相反的类型,例如 [^a] 将总是匹配换行字符,而不管这个修饰符的限制.

x (pcre_extended)

如果设置这个修饰符, 模式里面的空格数句将会被全部忽略,除非用转义符或者一个字符的内部类型,还有所有字符类型外的未转义的 # 号之间的也被忽略. 这个等同于 perl 里面的 /x 修饰符, 这样可以复杂的模式里面加入注释. 注意,只适用于数据字符. 空格字符将不会在指定的模式字符指定顺序中出现。

e

如果设置这个修饰符, preg_replace() 将在替换值里进行正常的涉及到 \ 的替换, 等同于在 php 代码里面一样, 然后用于替换搜索到的字符串.

只在 preg_replace() 里使用这个修饰符; 其它 pcre 函数忽略他.

a (pcre_anchored)

如果设置这个修饰符, 模式被强制为锚(anchored), 也就是说, 他将值匹配搜索字符串的开始. 这个效果可以通过恰当的模式结构自身来实现,那是在 perl 里面的唯一途径.

d (pcre_dollar_endonly)

如果设置这个修饰符,则模式里的 $ 修饰符将仅匹配目标字符串里的尾部. 没有这个修饰符, $ 字符也匹配新行的尾部 (但是不再新行的前面). 如果设置了 m 修饰符则忽略这个修饰符. 在 perl 里面没有类似的.

s

如果一个模式将被使用多次, 使用长些时间分析他来来提高匹配的速度. 如果使用这个修饰符,则进行额外的分析. 目前, 研究模式仅用于非锚模式,没有一个固定的开始字符.

u (pcre_ungreedy)

这个修饰符翻转数量的 "greediness" ,使得默认不被 greedy,但是如果你紧跟问号(?),则可以 greedy. 这个和 perl 不兼容. 这个也可以通过在模式里面的(?u) 修饰符得到.

x (pcre_extra)

这个修饰符打开额外的功能,这些和 perl 不兼容. 任何模式里面的后面带字符但没有特殊意义的反斜杠将引起错误, 从而储备这些联合用于将来的扩充. 默认的, 在 perl 里面, 反斜杠后面有无意义的字符被当成正常的 literal. 目前还没有其他的控制特征

php正则中不支持g修饰符吗,Pattern Modifiers – 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不一样。。所…-PHP教程,PHP应用...相关推荐

  1. css规则中区块block,CSS的命名方式:BEM(区块、元素、修饰符)

    原标题:CSS的命名方式:BEM(区块.元素.修饰符) 本资源由 伯乐在线- 凝枫整理,您也想贡献一份力量?欢迎加入我们 » 重要概念 "Block"区块 区块的定义是:一个逻辑和 ...

  2. C#中什么是类,类和对象的关系,类的访问修饰符?

    类以及类和对象的关系以及类的访问修饰符 一.类的概念: 二.类和对象的关系: 三.类的组成: 四.类的创建: 五.类的访问修饰符: 一.类的概念: 类是对于某一类对象的一个统称,类是对象的抽象化,对象 ...

  3. js 正则中冒号代表什么_JS正则表达式一条龙讲解(从原理和语法到JS正则)

    正则啊,就像一座灯塔,当你在字符串的海洋不知所措的时候,总能给你一点思路:正则啊,就像一台验钞机,在你不知道用户提交的钞票真假的时候,总能帮你一眼识别:正则啊,就像一个手电筒,在你需要找什么玩意的时候 ...

  4. js 正则中冒号代表什么_javascript中正则表达式语法详解

    好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要 ...

  5. js 正则 显示千分号 支持整数和小数

    js 正则 显示千分号 支持整数和小数: "1344328888341.2342".replace(/^(-?\d+?)((?:\d{3})+)(?=.\d+∣|∣)/, func ...

  6. js正则中的match()

    在前端开发中,正则表达式是一大利器.所以我们这次就来讨论下match()方法. match本身是JavaScript语言中字符串对象的一个方法,该方法的签名是 match([string] | [Re ...

  7. .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]...

    注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释  以//开头,后面的就是注释内容 ...

  8. html嵌入audio格式不支持,html5中audio支持音频格式的解决方法

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  9. linux c99 可变长数组,C中不支持可变长度数组C99(Variable length arrays C99 not supported in C)...

    C中不支持可变长度数组C99(Variable length arrays C99 not supported in C) 在Visual Studio 2005中,我正在尝试编译.c文件: int ...

最新文章

  1. sql server两种分页方法
  2. centos 安装java web_Centos上安装java web的环境
  3. 电商网站的积分要不要年末清零?
  4. 详解在 Linux 启动时,如何自动执行命令或脚本
  5. SSM框架下log4j的配置和使用
  6. 浏览器加载渲染HTML、DOM、CSS、 JAVASCRIPT、IMAGE、FLASH、IFRAME、SRC属性等资源的顺序总结...
  7. leetcode—sqrt
  8. CCF201903-2 二十四点(100分)【表达式计算】
  9. idea代码自动格式化配置
  10. 将PDG文件转化为PDF文件
  11. C语言读取文件内容创建二叉树
  12. 小米汽车VS苹果汽车,相同赛道不同逻辑
  13. node 使用 cnpm
  14. Debian11新装系统美化
  15. 三明学院信息工程学院网络攻防大赛-初赛官方解题报告
  16. springboot学习笔记11:分布式、微服务、springcloud概念区分
  17. android ibluetootha2dp,无法接收BluetoothA2dp.ACTION_PLAYING_STATE_CHANGED广播
  18. 云聚高性能,论道“新超算”
  19. FFmpeg自学入门笔记
  20. 如何用SQL语句模糊查询数据库中的表名

热门文章

  1. PLC数据操作系列之构造不同应用场景的缓存栈FIFO(算法详解)
  2. Unity_Shader(简易的卡通渲染)
  3. iatf16949标准三大过程_IATF16949要求过程、文件、记录汇总
  4. S32K144-hello_word点灯
  5. 信息采集之微博热门自定以搜索
  6. 智能手机成为隐私恶梦的四大原因
  7. 论文阅读:Generating Videos with Scene Dynamics
  8. Android 11.0 解决切换横屏时SystemUI导航栏固定在桌面右侧而不是底部的问题
  9. 4-使用GitHub(Github Issue)及基本概念实战
  10. 鸿蒙天钟壁纸,时间数字罗盘屏保