Regex 带计数条件的正向前瞻
我找了一整天,只发现正则表达式:Regex 带计数条件的正向前瞻,regex,Regex,我找了一整天,只发现正则表达式: /.+?(?=\}\s*,)/ 这意味着:尽可能少地匹配任何字符,直到找到}(任何空格),而不计算}(任何空格) 但是,我需要它与计算}(任何空格)相匹配, 我的整个regexp看起来像: \s*MT_(F[0-9A-Z]+)\s+\{\s+@Override[\s\S]*?(?=\}\s*,) 并应选择: MT_F102 { @Override public F102 func1() { }
/.+?(?=\}\s*,)/
这意味着:尽可能少地匹配任何字符,直到找到}(任何空格)
,而不计算}(任何空格)
但是,我需要它与计算}(任何空格)相匹配,
我的整个regexp看起来像:
\s*MT_(F[0-9A-Z]+)\s+\{\s+@Override[\s\S]*?(?=\}\s*,)
并应选择:
MT_F102 {
@Override
public F102 func1() {
}
@Override
public String func2() {
}
}
请告诉我该怎么办
谢谢!:) 您可以删除前瞻并使用
/.+?}\s*,/
详细信息
-除换行符以外的任何1个或多个字符尽可能少+?
-a}
字符}
-0+空格\s*
-逗号,
/\s*MT_(F[0-9A-Z]+)\s+\{\s+@Override[\s\S]*?\}\s*,/
请参阅。因此,将
}\s*,
添加到消费模式,删除前瞻-/.+?}\s*,/
您使用什么语言?感谢Wiktor提供正确答案。它很好用。我不知道如何将你的答案标记为正确。@MilanChe我发布了答案。下次,要让用户知道您的反馈,请在发送通知的用户名之前添加@