gpt4 book ai didi

java - 从字符串中提取括号之间的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 10:57:31 24 4
gpt4 key购买 nike

我正在开发自己的小脚本语言。现在我停留在脚本阅读器上,它读取文件并将其转换为脚本部分(变量、函数、if 子句等)。我有一个字符串,它将脚本文件内容保存在一行中,如下所示:

mega = "";test(){hallo();test = "";if(){p2 = -1;}else{p1 = "";}hi = 0;}

现在是我的问题。我想获取 if 子句和函数(位于 if 子句周围)的括号之间的字符串。我用正则表达式尝试过:

Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example);
while(m.find()) {
System.out.println(m.group(1));
}

但是随后我得到了函数 test(){ 的第一个括号和 if 子句的第一个括号之间的内容。如何提取 if 子句、else 子句和函数之间的字符串?

编辑:

这是我想在提取后退出的愿望:

对于如果:p2 = -1;对于其他:p1 = "";对于函数周围:

hallo();test = "";if(){p2 = -1;}else{p1 = "";}hi = 0;

编辑2:我想让它无限递归(当 if 子句中是另一个等时)

最佳答案

我认为正则表达式不会这样做。您正在寻找相应的大括号对。让我想起RegEx match open tags except XHTML self-contained tags .

关于java - 从字符串中提取括号之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47228960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com