首页 > 解决方案 > 正则表达式字符含义

问题描述

我确定这已经发布过,但我无法找到答案。

preg_match("/^[a-zA-Z0-9 -\.]{1,25}+$/i", ...

上面的正则表达式允许所有字母字符、所有数字字符以及以下 ( , -, .)。它还将我们检查的任何字符串限制为最多 25 个字符。我无法理解的是+$/i. 我可以在文档中找到大多数这些字符,但不明白为什么需要它们。我找不到任何信息的唯一一个是i

编辑:我想这$与我们对^角色的使用有关吗?

Edit2:感谢下面的评论,这似乎i使表达式不区分大小写。仍在寻找有关其他角色的信息。

标签: phpregex

解决方案


正则表达式末尾的/i标志使前面的模式不区分大小写。所以实际上,你可以使用这个:

preg_match("/^[a-z0-9 -\.]{1,25}+$/i", ...

也就是说,在/i模式下,preg_match将同时匹配a-z小写和大写字母,因此您只需指定一个范围。


推荐阅读