php regex - 删除短语

时间:2011-01-13 20:24:37

标签: php regex

我有一个嵌入其中的长字符串:"ABC_1_""ABC_2_"以及"ABC_3_"等。

例如:

"lorum ipsum ABC_1_ doit more ABC_3_ and so on".

我需要编写一个PHP preg_replace,它将删除6个字符(ABC_xx),如果前4个是"ABC_"并返回完整的剩余字符串,在我的示例中:

"lorum ipsum  doit more  and so on". 

谢谢!

2 个答案:

答案 0 :(得分:3)

将preg_replace与正则表达式一起使用:(ABC_.{2} )

$string = "lorum ipsum ABC_1_ doit more ABC_3_ and so on";
$pattern = "/(ABC_.{2})/";
$replacement = "";
echo preg_replace($pattern, $replacement, $string);

答案 1 :(得分:2)

试试这个:

$s = preg_replace('/\bABC_../', '', $s);

\b匹配单词边界,点与任何字符匹配(除了新行)。

完整示例:

<?php
$s = 'ABC_1_foo lorum ipsum ABC_1_ doit more ABC_3_ and so on'; 
$s = preg_replace('/\bABC_../', '', $s);
echo $s;
?>

结果:

foo lorum ipsum  doit more  and so on

(ideone)