我必须替换字符串,但这在PHP中很简单,但我的字符串就像这里展示的一样。请任何人帮我。
$string = "#x93F;#x902;#x91C";
上面的字符串我想用替换它
#x91C;#x93F;#x902;
但是这些字符串中有一个东西被替换了。我们不知道$string #x91C
;的最后一个字。
任何单词都在最后,它位于字符串前面。我该如何解决这个问题?请任何人帮助我。
使用捕获组来捕获所需的字符。稍后,您可以将匹配的字符替换为组中的字符。
Regex:
^([^;]*);([^;]*);([^;]*);$
替换字符串:
$3;$1;$2;
演示
$string = "#x93F;#x902;#x91C;";
echo preg_replace('~^([^;]*);([^;]*);([^;]*);$~', '$3;$1;$2;', $string);
输出:
#x91C;#x93F;#x902;
((?:[^;]+;)*)([^;]+)(?=$)
替换为$2;$1
。
请参阅演示。
http://regex101.com/r/uH3tP3/9