如何生成正则表达式以捕获除大括号内容以外的所有内容

How to generate a regex to capture everything but curly brace contents

我正在尝试匹配不包含 { 和 } 的任何大小的字符串,如 foo{bar} 中的正则表达式应该匹配 foo 而不是 {bar}。

我最初想出的正则表达式是 ^([^${].*[}$])^(?=[{]).+(?<=[}]),但它们似乎没有按照我的预期去做。

如果您想获取不在 {} 内的所有字符,那么您可以尝试使用正则表达式进行拆分操作。

使用您的首选语言按此正则表达式拆分字符串:

{.*?}

返回的数组应包含在每个 {}

之外找到的段

下面java例子returns一个数组(arr):

String abc="19{22}33{44}55{66}7";
String[] arr=abc.split("\{.*?\}");

其中包含:

["19","33","55","7"]