我在尝试利用 python 正则表达式解析 java 文件。
因为函数体中可能出现多重{},因此采用 python 的 regex。 regex.findall(r'{(?>[^{}]|(?R))}',java_file)
public void fun(int n) {
if(n > 1) {
if (n == 2) {
n = 3;
}
}
}
确实能匹配到
{
if(n > 1) {
if (n == 2) {
n = 3;
}
}
}
可我需要前面的public 和函数名fun。 在使用 public.*?{(?>[^{}]|(?R))}时,没能匹配到。
甚至使用 public{(?>[^{}]|(?R))}去匹配
public{
...
}
仍然不能匹配到。
在递归匹配式前后加东西如何实现 我对递归匹配不是很熟悉,希望***指点一下***。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.