正则表达式删除[]及其中的所有内容

时间:2011-05-27 23:08:52

标签: php regex preg-replace

我遇到一些麻烦要让一些正则表达式删除一些文字,我需要[text][text][maybehere]anytext删除。

所以基本上是第一组[]及其中的任何内容。文本的其余部分可以包含任何空格,也可以包含另一组[]。

我有这个:/\[.*\]/但它正在移除所有的刹车和内容。

我正在使用PHP

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

请注意preg_replace中的第4个参数(替换限制):

$str = preg_replace('/\[[^\]]*\]/', '', $str, 1);

答案 1 :(得分:2)

我建议

preg_replace('#\[.*?\]#', '', $stringVar, 1);

它会完全删除第一个匹配的[],包括它的内容。

答案 2 :(得分:0)

怎么样:

"/^\[[^\]]*\](.*)$/"