我看了这里的不同答案,但是很不幸,它们都不适用于我的情况。所以我希望你不要介意。
所以我需要匹配两个花括号 {} 之间的所有内容,但是不包括以 @ 开头且没有这些花括号的情况,例如:
- "这是一个超文本 {match_this}"
- "{match_this}"
- "这是另一个例子 @{deal_with_it}"
以下是我的测试字符串,1、2、3 是有效的,而最后一个不应该是:
1 {eww}
2 r23r23{fetwe}
3 #{d2dded}
4 @{d2dded}
我正在尝试使用以下内容:
(?<=[^@]\{)[^\}]*(?=\})
接着只有第二个和第三个选项匹配成功了(不包括第一个选项)https://regex101.com/r/qRInUf/2/
然后我试着:
\{(.*?)\} or [^@]\{(.*?)\}
在这两种情况下,我都无法匹配1,2,3的值。 https://regex101.com/r/uYRtLD/1 提前感谢任何建议。
编辑:这是针对Java的。
{
前面的字符还是只匹配{x}
这部分? - ctwheels{}
内的内容吗? - ctwheels(?<=(?<!@){)([^}]*)(?=})
是什么意思? - ctwheels