PHP:调整regex,在每个单词的末尾添加一个字符
我有以下正则表达式:PHP:调整regex,在每个单词的末尾添加一个字符,php,regex,Php,Regex,我有以下正则表达式: // Before: "Foo Bar Test"; $str = preg_replace( "/(^| )(\w)/", '$1+$2', $str ); // After: "+Foo +Bar +Test"; 可以在每个单词的末尾加上字符“*”吗 我想要的结果是: // +Foo* +Bar* +Test* 在同一个正则表达式中可以这样做吗?还是我必须用一个新的 您可以执行以下操作: $str = preg_replace( "/(^| )(\w+)\b/",
// Before: "Foo Bar Test";
$str = preg_replace( "/(^| )(\w)/", '$1+$2', $str );
// After: "+Foo +Bar +Test";
可以在每个单词的末尾加上字符“*”吗
我想要的结果是:
// +Foo* +Bar* +Test*
在同一个正则表达式中可以这样做吗?还是我必须用一个新的 您可以执行以下操作:
$str = preg_replace( "/(^| )(\w+)\b/", '$1+$2*', $str );
echo "$str\n";
//=> +Foo* +Bar* +Test*
将第二个捕获的组设为(\w+)
将使其捕获完整单词,并将*
放在$2
之后将*
放在正确的位置
PS:您还可以使用查找断言:
$str = preg_replace( "/(?<= |^)(\w+)\b/", '+$1*', $str );
$str=preg\u replace(“/(?非常感谢您的回复!它工作得很好!):)您可能可以将其简化为preg\u replace('/\w+/','+$0*',$str)