PHP正则表达式 /i, /is, /s, /isU等
2016-03-21 10:42
531 查看
PHP正则表达式 /i, /is, /s, /isU等
2010年2月8日 scofield 发表评论 阅读评论PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢?
i 匹配大小写
s 模式中的圆点元字符(.)匹配所有的字符,包括换行符
x 模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两 头,也都被忽略
A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。
D (PCRE_DOLLAR_ENDONLY)
如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配
任何其它换行符之前)。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。 S
当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的
non-anchored 模式有用。
U (PCRE_UNGREEDY) 本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复。这和 Perl
不兼容。也可以通过在模式之中设定 (?U) 修正符来启用此选项。
X (PCRE_EXTRA) 此 修正符启用了一个 PCRE 中与 Perl
不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误,从而保留此组合以备将 来扩充。默认情况下,和 Perl
一样,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。即:贪婪模式,最 大限度匹配
如:/a[\w]+?e/U匹配abceadeddd中的abceade而不是abce,如果不加U修正,则匹配abce u (PCRE_UTF8)
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用,在
win32 下自 PHP 4.2.3 起可用。
相关文章推荐
- 关于PHP5 Session生命周期介绍
- php curl_init函数用法
- PHP文件上传至另一台服务器
- php的header来定义一个php页面为utf编码或GBK编码
- php 自动全局变量 $_SERVER,$_ENV,$_COOKIE,$_GET,$_POST,$_FILES,$_SESSION
- PHP 数组排序(sort)
- php 阿拉伯数字转中文大写金额
- [求助]php变量需要释放吗
- Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
- php利用pdo进行mysql的事务处理机制
- Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
- php进阶:查找所有匹配的结果
- zend 代码提示时间修改
- Zend Framework教程之Zend_Db_Table_Row用法实例分析
- zend php 修改模板
- php进阶:使用正则表达式进行匹配
- PHP汉字转拼音函数
- Zend Framework教程之Zend_Db_Table用法详解
- webstorm ftp发布问题
- PHP三大特性之继承性