将百分号后面的字符替换为正则表达式


Replacing characters after percent sign with regex

我想使用正则表达式来替换字符串中百分号后面的所有文本。假设我有以下字符串:

/path/to/webpage/%foo

我想使用 RegEx 将%foo(这是可变的,不一定始终包含 foo)替换为 $foo

到目前为止,我已经想出了以下表达式,但这似乎不起作用。

(%([a-z]+))'w

有什么建议吗?

谢谢!

尝试更简单的模式,这里不需要(子模式匹配,只需%.*$"匹配从'%'开始到行尾的所有字符":

<?php
$name = "/path/to/webpage/%foo";
$pattern = '/%.*$/';
$bar = 'bar';
$new_name =  preg_replace($pattern, $bar, $name);
echo "$new_name'n";

结果:

/path/to/webpage/bar