Объединение 2 выражений регулярных выражений

Я пытаюсь объединить 2 выражения регулярных выражений.

$test = preg_replace('/\[.*?\]/', '', $test); 

Я использую это, чтобы удалить квадратные скобки и слова между скобками.

 $test = preg_replace ('/[\[\]=]+/', '', $test); 

Я использую это, чтобы вырезать символы any = [] из моей строки.

делать это индивидуально, кажется, все хорошо, но я хотел бы их комбинировать. Любые идеи, как я могу это сделать … все, что я пробовал, сломал и то, и другое.

благодаря

Используйте чередование :

 $test = preg_replace('/\[.*?\]|[\[\]=]/', '', $test); 

Порядок здесь важен, так что первые согласующие скобки и их содержимое удаляются. Это должно работать нормально, пока вложенные скобки отсутствуют.

Таким образом, это выражение будет соответствовать либо \[.*?\] ИЛИ [\[\]=]

Самый простой ответ – использовать или:

 '/\[[^\]]*\]|[\[\]=]+/' 

Обратите внимание, что я также изменил внутренний шаблон в первой строке. Я не уверен, нужна ли обратная косая черта.