删除括号前后的空格

时间:2018-03-14 15:41:14

标签: php regex preg-replace

我试图在打开括号后删除一个或多个空格,然后在圆括号和方括号的括号中删除

$s = "This is ( a sample ) [ string ] to play with"

预期结果:

"This is (a sample) [string] to play with"

我设法删除之前的空格

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

结果:

"This is ( a sample) [ string] to play with"

但不是后的空格空格!

1 个答案:

答案 0 :(得分:10)

试试这个正则表达式:

(?<=[([]) +| +(?=[)\]])

<强> Click for Demo

用空白字符串替换匹配

<强>解释

  • (?<=[([]) + - 匹配1个以上的空格,前面有[(
  • | - 或
  • +(?=[)\]]) - 匹配)]
  • 后面的1个以上空格