我有一个字符串,类似于下面的例子,
assd *AA*the fox saw the outcome *EAA*saassdsd
我想使用正则表达式删除 AA 和 EAA 之间的空格。使用下面的代码我可以突出显示 AA 和 EAA 之间的所有内容,但我只希望突出显示所有空格。我相信这个(。*)正在对所有角色进行分组。有人能指出我正确的方向吗?
\*AA\*(.*)\*EAA\*
答案 0 :(得分:1)
根据您的问题,您似乎想要从给定字符串中删除所有空格。
function sanitize($string)
{
$re = "/^(.*?AA)(.*)(EAA.*)$/i";
preg_match_all($re, $string, $matches);
if($matches) {
$p1 = $matches[1][0];
$p2 = $matches[2][0];
$p3 = $matches[3][0];
$p2 = preg_replace("/\\s+/", "", $p2);
$result = $p1.$p2.$p3;
return $result;
}
return $string;
}
$str = "assd *AA*the fox saw the outcome *EAA*saassdsd ";
print(sanitize($str))
这将呈现:
assd *AA*thefoxsawtheoutcome*EAA*saassdsd