如何使用正则表达式捕获字符串,即a)在圆括号内(包括括号在内),以及b)在括号内包含空格(或者不包括空格),以便捕获(test test), ( test), (test )
但不捕获(test)
。
我在这里发现了一个类似的问题,使用表达式
\((?!\s)[^()]+(?<!\s)\)
但使用此先行/后备规则,只需查找括号中附加的空格。您如何修改它以查找括号内的每个空格?
先感谢您!
您可以使用/\([^)]* [^)]*\)/
。这匹配0个或多个非闭合括号字符,后跟一个空格,后跟0个或多个非闭合括号字符。因此它将匹配"( )"
,"( )"
但不会匹配"()"
。
const s = "() ( test) (test) (test ) ( ) ( ) ( test ) (t est)";
console.log([...s.matchAll(/\([^)]* [^)]*\)/g)]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句