Regex -查找最后出现在字符串(s空格字符)


Regex - Find Last Occurence in String (s Space Character)

我想用正则表达式匹配和替换字符串(电话号码)中的一些字符。

例如:

(525) 525 52 25

替换为:

525 525 5225

替换字符:

()

我该怎么办?

我也试过:

/['(')'s]/g

匹配()和所有空格字符

您可以尝试下面的代码,删除()符号和最后两位数字之前的空格,

<?php
$mystring = "(525) 525 52 25";
echo preg_replace('~[()]| (?='d{2}$)~', '', $mystring);
?>
输出:

525 525 5225

<?php
$mystring = "(525) 525 52 25";
echo preg_replace('~[()]| (?='S*$)~', '', $mystring);
?>

演示

解释:

  • [()]匹配()符号
  • |逻辑或运算符通常用于组合两个正则表达式。
  • <space>(?='S*$)匹配后面跟着零个或多个非空格字符和行尾的空格(即最后一个空格)。
  • 最后将所有匹配的字符替换为空字符串。

尝试:

echo preg_replace('/[()]|'s(?='S+$)/', '', '(525) 525 52 25');