php - Preg_match 捕获 dot(.) 超过 3 次
问题描述
如果我想验证我的字符串是否有 3 个或更多点 (.) 我会写这个正则表达式
if(preg_match("/^[\.]{3}+$/", $string){
echo "Match!";
因为反斜杠表示验证我的点,而 {3} 会说我想要的数字 os 点。如果它有效,那将非常简单。也许我在这里错过了什么?
解决方案
对于 ascii 范围内的一个字符,您可以使用 count_chars 函数返回一个数组,其中包含每个字符的出现次数:
if ( count_chars($string)[46] > 3 ) {
...
46 是点的十进制值。
请注意,为了使其更具可读性,您可以编写:
$char = ord('.');
if ( count_chars($string)[$char] > 3 ) {
...
推荐阅读
- xamarin - 对 Microsoft Visual Studio Xamarin IOS 的 Chilkat 支持
- python - 绘制平均索引条形图?
- python - 删除查询集中的重复项
- python - 应在至少 2 个输入的列表上调用“连接”层
- html - 角度材料 2 表 - 使用 TemplateRef 和 ngTemplateOutlet 定义列
- python - 安装 Matplotlib:命令“python setup.py egg_info”失败,错误代码为 1(建议的解决方案不起作用)
- javascript - 可以改变引导类的方向吗?
- c# - SelectElement 对象在 Selenium C# 中返回 null
- wordpress - 如何更改自定义 WordPress 永久链接?
- spring-boot - 消息选择器骆驼的动态值