【发布时间】:2015-12-15 01:21:39
【问题描述】:
所以我知道这个问题可能与其他关于正则表达式等的问题相似。我相信我的是独一无二的,因为我使用 java 来解析一些 javascript,其中可以包含括号内的括号用于匿名函数等。请考虑以下示例:
describe('a jasmine describe', function (){
it('login', function(){
//some function stuff
});
it('another it statement', function() {
//some additional stuff
});
});
我最终想要的是:
第 1 组:“茉莉花描述”
第 2 组:描述的左/右括号之间的所有内容
我相信我有正则表达式来获取我正在寻找的第 1 组:
Pattern r = Pattern.compile("(?:describe\\s*\\(\\s*')(.*?)(?=')", Pattern.CASE_INSENSITIVE);
但我不知道如何获取特定描述括号的打开/关闭之间的内容。
【问题讨论】:
-
function(){}不是 java。你真的在使用javascript吗?还是您使用 java 从 javascript 文件中获取信息? -
我正在使用 java 来解析一些 javascript,问题也得到了澄清
-
如果你有无限嵌套大括号的潜力,你将无法使用正则表达式方便地做到这一点。
-
我肯定不会有无限的嵌套大括号,我不需要关心性能。
-
目标是否总是跟随文本“描述”?