在PHP中,正则表达式的“i”是“in-casesensitive”的缩写,表示的是“区分大小写”的意思,是正则表达式中的修正符;在正则表达式中设定此修正符时,表示正则表达式进行匹配的字符将同时匹配大小写字母,语法为“/ 匹配条件 /i”。

本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑

php正则中i表示什么意思

这里的 i 是正则表达式

i: 表示in-casesensitive,即大小写不敏感

如果设定此修正符,模式中的字符将同时匹配大小写字母。

例如:

$reg = '/ {5} / i '

拓展知识:

正则表达式就是一个匹配的模式,正则表达式本身也就是一个字符串(有一些语法规则,特殊符号组成)

正则表达式这个字符串一定要在对应的函数中使用才有意义(分割,替换函数结合使用)

  • 1、定界符 / /

  • 2、原子 最小的一个匹配单元(放在 / / 中,在正则表达式中,至少有一个。例如:$reg = '/ 7 /' )

  • 3、元字符 元字符是不能单独使用的,用来修饰元子的,用来扩展原子功能和限字的做补充说明(协助定界符中 例如:$reg = '/{5}/' )

  • 4、模式修正符 修正,对模式(正则)修正(写在定界符的外面,写在右边 例如: $reg = '/ {5} / i ' 中的i)

示例如下:

1、非空匹配  ‘/.+/’

  2、浮点数匹配(保留2位)‘/(?!0\.00)(\d+\.\d{2}$)/’  

$subject = ['1.00', '2.345', '0.23', '234', '23.22', '0.00'];
$matche = [];
for ($i = 0; $i < count($subject); $i++){
    if(preg_match('/(?!0\.00)(\d+\.\d{2}$)/', $subject[$i], $matche)){
        show($matche);
    }
}

  结果:

14.png

  3、手机号码

‘/^1(3|4|7|8)\d{9}$/’

  4、Email地址

‘/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i’

或者

‘/^\w+(\.\w+)*@\w+(\.\w+)+$/’

  5、常见URL地址

 '/^(https?://)?(\w\.)+[a-zA-Z]+$/'


php正则中i表示什么意思