正则表达式替换

时间:2014-11-26 06:37:37

标签: php regex function str-replace preg-replace-callback

我需要删除

[0037][user name] 

句子组合。在第一个括号中始终包含数字 例如:

[0032]

数字计数不会超过4。在第二个括号中始终包含字母,例如:

[first name]

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:1)

\[\d{1,4}\]\[[a-zA-Z ]+\]

这应该这样做。按empty string替换。见演示。

http://regex101.com/r/oE6jJ1/22

$re = "/\\[\\d{1,4}\\]\\[[a-zA-Z ]+\\]/im";
$str = "asdas asdsad [1234][asd asd] asdasd";
$subst = "";

$result = preg_replace($re, $subst, $str);

答案 1 :(得分:1)

您可以使用preg_replace()实现正则表达式语法并尝试以下表达式。

$str = preg_replace('/\[\d+]\[[a-z ]+]/i', '', $str);