我正在尝试组合2个正则表达式。
$test = preg_replace('/\[.*?\]/', '', $test);
我用它来删除括号之间的任何方括号和单词..
$test = preg_replace ('/[\[\]=]+/', '', $test);
我用它从我的字符串中删除任何= []符号。
单独这样做似乎很好,但我想把它们结合起来。 任何想法我怎么能这样做......我尝试过的一切都打破了......由于
答案 0 :(得分:1)
使用alternation:
$test = preg_replace('/\[.*?\]|[\[\]=]/', '', $test);
这里的排序很重要,因此首先匹配括号及其内容将被删除。只要没有嵌套括号,这应该可以正常工作。
因此,此表达式将匹配\[.*?\]
或 [\[\]=]
答案 1 :(得分:1)
最简单的答案是使用或:
'/\[[^\]]*\]|[\[\]=]+/'
请注意,我还更改了第一个字符串中的内部模式。我不确定那里是否需要反斜杠。