PHP正则表达式参数 /i,/g,/ig,/gi,/m的区别和含义

    |     2017年4月14日   |   学习偶记   |     评论已关闭   |    3010

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)

i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。
A 强制仅从目标字符串的开头开始匹配
D 模式中的 $ 元字符仅匹配目标字符串的结尾
U 匹配最近的字符串
u 模式字符串被当成 UTF-8


转自:http://blog.sina.com.cn/s/blog_4754299501011wyh.html

PS:

正则表达式的注释

格式:(?# 注释内容)
用途:主要用于复杂的注释

贡献代码:是一个用于连接MYSQL数据库的正则表达式

下面是一个连接mysql数据库的正则表达式。

$regex = '/
 ^host=(?<!\.)([\d.]+)(?!\.)     (?#主机地址)
\|
 ([\[email protected]#$%^&*()_+\-]+)      (?#用户名)
\|
 ([\[email protected]#$%^&*()_+\-]+)      (?#密码)
(?!\|)$/ix';
  
$str = 'host=192.168.10.221|root|123456';
$matches = array();
  
if(preg_match($regex, $str, $matches)){
 var_dump($matches);
}
  
echo "\n";

噢!评论已关闭。