请教这个正则表达式怎么写?

2015-03-17 14:10:32 +08:00
 wanglongbiao2010
截图:


需求:
在Eclipse中匹配后面没有 finnaly 的catch块

目前下面这句只能匹配整个catch块,但正向预查无法使用
可以匹配catch块 : catch(.*\R)+?.*?}


求帮忙!
2724 次点击
所在节点    程序员
4 条回复
jiyee
2015-03-17 14:54:12 +08:00
catch[^{]*\{\s+([^}]+)\}(?!\s+finally)
imn1
2015-03-17 15:25:14 +08:00
catch.*?\{(?:[^{}]+|(?R))*?\}
int30xcc
2015-03-17 15:48:48 +08:00
如果有嵌套结构的话,,貌似很麻烦呢,java正则又不支持“平衡组”
est
2015-03-17 16:06:07 +08:00
@int30xcc bingo

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177501

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX