php正则表达式-删除短语

php正则表达式-删除短语,php,regex,Php,Regex,我有一根很长的线,它已经嵌入其中:ABC_1_,ABC_2_,ABC_3_等等 例如: "lorum ipsum ABC_1_ doit more ABC_3_ and so on". 我需要编写一个PHP preg_replace,如果前4个字符是ABC_,它将删除6个字符ABC_xx,并返回完整的剩余字符串,在我的示例中: "lorum ipsum doit more and so on". 谢谢 试试这个: $s = preg_replace('/\bABC_../', '',

我有一根很长的线,它已经嵌入其中:ABC_1_,ABC_2_,ABC_3_等等

例如:

"lorum ipsum ABC_1_ doit more ABC_3_ and so on".
我需要编写一个PHP preg_replace,如果前4个字符是ABC_,它将删除6个字符ABC_xx,并返回完整的剩余字符串,在我的示例中:

"lorum ipsum  doit more  and so on". 
谢谢

试试这个:

$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 试试这个:

$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
使用preg_替换为正则表达式:ABC_.{2}


使用preg_替换为正则表达式:ABC_.{2}


这很有效。我删除了\b,因为该短语可能不在单词边界上。但我在问题中没有具体说明。谢谢@sdfor:单词边界的原因是它不会意外地匹配DABC_D_。但是如果你想匹配,那么是的,你不需要边界这个词。这很有效。我删除了\b,因为该短语可能不在单词边界上。但我在问题中没有具体说明。谢谢@sdfor:单词边界的原因是它不会意外地匹配DABC_D_。但是如果你想匹配,那么是的,你不需要边界这个词。谢谢!漂亮的低音谱号图标!我不知道它叫什么。现在我知道了:谢谢!漂亮的低音谱号图标!我不知道它叫什么。现在我知道了: