我想用正则表达式匹配和替换字符串(电话号码)中的一些字符。
例如:
(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');