Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串替换php中的精确单词_Php_Regex_String_Preg Replace - Fatal编程技术网

字符串替换php中的精确单词

字符串替换php中的精确单词,php,regex,string,preg-replace,Php,Regex,String,Preg Replace,php $aaa=”“; echo$nn=“ab bc cd cde ab aa”; 回声“”; echo$n=preg_replace(“/cd | ab/”、“$aaa”、$nn); 回声“”; echo$no=preg_replace('/[a-z]/','$bbb',$n); 回声“”; 我期望的输出是“$aaa$bbb$aaa$bbb$bbb$bbb”。也就是说,当模式“cd”或“ab”单独匹配时,它应该更改为“$aaa”,而那些不匹配的则更改为“$bbb”。$aaa=”“; $aa

php

$aaa=”“;
echo$nn=“ab bc cd cde ab aa”;
回声“
”; echo$n=preg_replace(“/cd | ab/”、“$aaa”、$nn); 回声“
”; echo$no=preg_replace('/[a-z]/','$bbb',$n); 回声“

”;
我期望的输出是“$aaa$bbb$aaa$bbb$bbb$bbb”。也就是说,当模式“cd”或“ab”单独匹配时,它应该更改为“$aaa”,而那些不匹配的则更改为“$bbb”。

$aaa=”“;
$aaa="";
echo $nn="ab bc cd cde ab aa";
echo "<br>";
echo $n=preg_replace('/cd|ab/', '$aaa', $nn);
echo "<br>";
echo $no=preg_replace('/[a-z]/', '$bbb', $n);
echo "<br><br>";
echo$nn=“ab bc cd cde ab aa”; 回声“
”; echo$n=preg_replace('/\b(cd | ab)\b/','$aaa',$nn); 回声“
”;
echo$no=preg_replace('/((?不相关,但仍然:从作业中删除
echo
。这只输出1/true。cde应该是“$bbb”,我想精确匹配“cd”或“ab”而不是cde这意味着“匹配字符串a-z一次或多次,但前提是它前面有空格。通过使用此back断言,它匹配它应该匹配的内容,即d没有抓住空间作为它的一部分。
$aaa="";
echo $nn="ab bc cd cde ab aa";
echo "<br>";
echo $n=preg_replace('/\b(cd|ab)\b/', '$aaa', $nn);
echo "<br>";
echo $no=preg_replace('/((?<= )[a-z]+)\b/', '$bbb', $n);
echo "<br><br>";