我正在尝试编写一个正则表达式来选择Java文件中两个花括号之间的文本。大括号之间的文本可以分布在多行中。
例如,
{
// line1 ;
// line 2 ;
// line 3 ;
}
我需要选择大括号之间的所有行。
我尝试了\{[.]*\}
,但它没有选择多行。
请在这方面给我建议。 感谢。
答案 0 :(得分:2)
通常,这不是一个好主意,因为您需要考虑嵌套括号等。你可能最好使用解析器 话虽这么说,你可能会得到以下结构:
^\{
(.+?)
^\}
这假定您的开始和结束括号独立于一行。如果您还想允许空格,则需要将其更改为:
^\s*\{
(.+?)
^\s*\}
请参阅a demo on regex101.com(并注意不同的修饰符,即DOTALL
和MULTILINE
!)。
答案 1 :(得分:1)
您需要在正则表达式中添加换行符...试试这个: \ {(。* \ r \ n)的* \}