gpt4 book ai didi

java - 查找 Java 函数的开头和结尾

转载 作者:行者123 更新时间:2023-11-30 04:29:34 25 4
gpt4 key购买 nike

在 Java 中,是否可以为 Java 源代码示例生成相应的大括号(将源代码作为字符串以及大括号的开头)?

public class FindFunctionStartAndEnd{
public static Object findCorrespondingCurlyBrace(String sourceCode, string startingPosition){
//return the string position that corresponds to the matching curly brace
//the input string should be the source code of a Java class
//if sourceCode is not valid Java code, return false
}
}

最佳答案

您需要遍历字符串并从起始位置开始计算左括号和右括号并将它们匹配。问题是,有几种情况你需要忽略它们(这里只是几个例子):

  • 在行注释中(在 //“新行”之间)
  • 在 block 注释中(在 /*(未被行注释隐藏)和 */ 之间)
  • String 文字中(两个匹配的 " 之间(忽略转义符 (\",但注意 \\"\\\"!)))
  • char 文字中(两个匹配的 ' 之间)
  • 可能更多

您可以在运行字符串时保留所有这些的计数器,也可以提出一个与整个函数体(包括列表中的所有这些情况)匹配的正则表达式,然后应用一次并查看找到正文后,匹配索引最终到达的位置。

任何一个都应该在所有情况下都做正确的事情,因此我建议您使用 Google 看看是否可以找到一些预制正则表达式的示例。

关于java - 查找 Java 函数的开头和结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992653/

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