仅使用正则表达式[duplicate]]用PHP查找并替换字符串中字符的第一个出现的地方>

问题描述 投票:-1回答:1

编辑!!!!

我问了一个最初被关闭的问题,因为有人没有完全阅读我的帖子,并认为这是重复的。值得庆幸的是,@ Barmar重新打开了我的帖子。 @Nick为我的初始帖子提供了初始答案。

编辑结束!!

我正在尝试使用PHP查找和替换字符串中字符的第一个匹配项。我知道可以将限制参数与preg_replace一起使用,但是我对如何完成仅使用正则表达式>>]感兴趣。

$subject = "abcdefdgh";

说我只想替换此字符串中字母“ d”的第一个出现。

我曾尝试从this post形成正则表达式,但它替换了直到“ d”第一次出现的所有内容

$pattern = "/^(.*?)d/"; 
$replacement = "$";  
$subject = "abcdefdgh";
echo preg_replace($pattern, $replacement, $subject); // $efdgh

感谢您的任何建议。

编辑!!!!我问了一个最初被关闭的问题,因为有人没有完全阅读我的帖子,并认为这是重复的。值得庆幸的是,@ Barmar重新打开了我的帖子。 @Nick提供了初始的...

您需要将捕获组复制到替换组。

$replacement = "$1$"; 
php regex preg-replace
1个回答
-1
投票

您需要将捕获组复制到替换组。

© www.soinside.com 2019 - 2024. All rights reserved.