正则表达式除一个字符外的每个字符

问题描述 投票:0回答:1

是否有正则表达式可以捕获除一个字符以外的所有字符?例如,大括号中的每个字符,直到找到大括号为止,然后将其不匹配。例如catch:

{lorem ipsuem}

但不是:

{lorem ipsum {lorem}

因为里面还有另一个{我尝试了不同的解决方案,例如:

\{[^\}].+?(?=)\} or \s\{[^\}].+?\s(?!\{)\}
regex
1个回答
0
投票

取决于您的正则表达式风格,但是类似\{[^{]*\}\的方法应该可以解决问题。

在您的示例中,它与{lorem ipsuem}{lorem}

不过您是否需要使用正则表达式?如果您确保大括号保持平衡,那么使用堆栈似乎是一个完美的案例。

© www.soinside.com 2019 - 2024. All rights reserved.