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

PHP正则如何新增匹配两类含等号与星号的特殊字符串模式

PHP正则修改方案

正则多选分支遵循从左到右匹配、命中即终止的规则,所以更长的特殊匹配规则必须放在短通用规则前面,否则会被短运算符提前截断,导致匹配不符合预期。

修改后的完整正则

/=\*.*|=.*\*|=~|=\*|=|!=|\(\)|>=|<=|>|<//u

注意:你之前贴的正则里的&gt;、&lt;是HTML转义实体,实际写在PHP代码里直接写>、<即可。

规则说明

两个新增规则放在所有分支最前面,优先匹配长模式:

  • =\*.*:匹配第二类场景,即=后接*、再跟任意数量任意字符的字符串,比如=*bfrg%1、=*7lk;y
  • =.*\*:匹配第一类场景,即以=开头、中间接任意数量任意字符、结尾为*的字符串,比如=ijnhu9*、=1$n*

原有规则全部保留,不会影响之前已经支持的=~、=*(单独运算符)、=、!=、()、>=、<=、>、<匹配逻辑。

可选调整

  • 如果你需要匹配的内容可能包含换行,给正则增加s修饰符,让.可以匹配换行符即可,写法如下:
    /=\*.*|=.*\*|=~|=\*|=|!=|\(\)|>=|<=|>|<//su
    
  • 如果你需要限制中间字符的范围(比如排除空白符),可以把.*替换成你需要的字符集,比如[^\s]*代表匹配除空白符外的任意字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:03:33