You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP正则验证特定格式字符串:三段式规则校验求助

正则表达式解决方案

要实现你需要的字符串校验,核心是给第一部分的3位数字加上不重复的约束,修改后的正则表达式如下:

^(?!.*(.).*\1)[0-9]{3}\*[0-9]+$

各部分解析:

  • ^:匹配字符串起始位置
  • (?!.*(.).*\1):负向预查断言,确保第一部分的3位数字无重复:
    • (.) 捕获第一部分中的任意一个数字
    • .*\1 检查该数字是否在第一部分的后续位置再次出现
    • ?! 表示如果存在重复数字,整个匹配直接失败
  • [0-9]{3}:匹配恰好3位数字(结合预查确保无重复)
  • \*:匹配固定的*符号(转义是因为*在正则中是特殊元字符)
  • [0-9]+:匹配至少1位的整数(允许数字重复)
  • $:匹配字符串结束位置

示例验证:

  • 验证通过:908*22 → 第一部分数字无重复,位数符合要求
  • 验证失败:223*443 → 第一部分数字2重复,触发预查断言不匹配
  • 验证失败:34*5000 → 第一部分仅2位数字,[0-9]{3}不匹配

内容的提问来源于stack exchange,提问作者kingerror

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:50:28