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

如何修正preg_match正则表达式以移除多余点号?

正则表达式修正方案

原字符串:/myhome/ishere/where/are.you.ha

原正则问题:使用preg_match('/(.+\/)[^.]+(.+\.ha)/', $input_line, $output_array)处理后,结果多了一个多余的点号,得到/myhome/ishere/where/.you.ha,目标是得到/myhome/ishere/where/you.ha。

修正后的正则:

preg_match('/(.+\/)[^.]+\.(.+\.ha)/', $input_line, $output_array);

修正说明:

原正则里的(.+\.ha)会匹配到are.后面的.you.ha,导致拼接后多了一个前置点。修正后把[^.]+后面的.单独匹配出来,让第二个捕获组从you开始,最终拼接第一个捕获组(/myhome/ishere/where/)和第二个捕获组(you.ha),就能得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:30:57