php - 正则表达式字符含义
问题描述
我确定这已经发布过,但我无法找到答案。
preg_match("/^[a-zA-Z0-9 -\.]{1,25}+$/i", ...
上面的正则表达式允许所有字母字符、所有数字字符以及以下 ( ,
-
, .
)。它还将我们检查的任何字符串限制为最多 25 个字符。我无法理解的是+$/i
. 我可以在文档中找到大多数这些字符,但不明白为什么需要它们。我找不到任何信息的唯一一个是i
。
编辑:我想这$
与我们对^
角色的使用有关吗?
Edit2:感谢下面的评论,这似乎i
使表达式不区分大小写。仍在寻找有关其他角色的信息。
解决方案
正则表达式末尾的/i
标志使前面的模式不区分大小写。所以实际上,你可以使用这个:
preg_match("/^[a-z0-9 -\.]{1,25}+$/i", ...
也就是说,在/i
模式下,preg_match
将同时匹配a-z
小写和大写字母,因此您只需指定一个范围。
推荐阅读
- python - python字典的AJAX发布导致JSONDecodeError
- c# - 将一个小的二维数组复制到一个较大的二维数组中,该数组的左侧和顶部都有一个缓冲区
- azure - 如何在 Azure 中定义私有子网
- java - java中的Jaspersoft子报表
- spring-boot - 在第二次保存时,先前保存的数据的外键在 Spring Boot 中更新为 null
- ggplot2 - Flexdashboard 无法在同一降价上呈现 ggplotly 和 ggplot 对象
- sql-server - 使用触发器跟踪购买计数
- c# - 背景颜色不与属性绑定
- javascript - Javascript 类和扩展
- php - 如何将对象数组排序为 Windows 资源管理器?