去掉括号前后的空格
Remove spaces before and after parentheses
我正在尝试删除一个或多个 spaces after 左括号和 before 两轮右括号和方括号。
$s = "This is ( a sample ) [ string ] to play with"
预期结果:
"This is (a sample) [string] to play with"
我设法删除了 space 之前:
$s = preg_replace('/\s+(?=[\])])/', '', $s);
结果:
"This is ( a sample) [ string] to play with"
但不是 spaces 在 括号之后!
试试这个正则表达式:
(?<=[([]) +| +(?=[)\]])
用空字符串替换匹配项
解释:
(?<=[([]) +
- 匹配出现 1 次以上的 space,其前面是 [
或 (
|
- 或者
+(?=[)\]])
- 匹配出现 1 次以上的 space,其后跟 )
或 ]
我正在尝试删除一个或多个 spaces after 左括号和 before 两轮右括号和方括号。
$s = "This is ( a sample ) [ string ] to play with"
预期结果:
"This is (a sample) [string] to play with"
我设法删除了 space 之前:
$s = preg_replace('/\s+(?=[\])])/', '', $s);
结果:
"This is ( a sample) [ string] to play with"
但不是 spaces 在 括号之后!
试试这个正则表达式:
(?<=[([]) +| +(?=[)\]])
用空字符串替换匹配项
解释:
(?<=[([]) +
- 匹配出现 1 次以上的 space,其前面是[
或(
|
- 或者+(?=[)\]])
- 匹配出现 1 次以上的 space,其后跟)
或]