gpt4 book ai didi

python - 在源代码中查找引用的文本字符串

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

我一直在寻找一种简单的方法来查找 Java 源代码文件中引用的文本字符串。首先,我查看了正则表达式。然后我意识到我有两个问题,因为 this答案指出,不会有一个完全正确的正则表达式,类似于标记语言出现的问题。主要问题来自于字符串中可能存在转义引号。

那么,我有哪些选项可以解析源代码文件以查找其中的字符串(可能带有转义引号)?是否已经存在用于执行此操作的任何东西?最好是用 Python 编写。

编辑:这是一些过于简化的示例代码。

private static String[] b = {
foo("HG@\"rND"),
foo("K1\\"),
bar("ab\\\\\\\"")
}

应该能够处理反斜杠的任何组合。所需的输出将是字符串本身。

最佳答案

你可以使用这样的东西:

import re

with open('input.java') as jfile:
text = "".join(x.strip() for x in jfile)
m = re.findall(r'".*?(?<!\\)"', text)
for x in m:
print x

但是删除注释也是必要的,这并不是一件极其困难的事情。或者查看Java parser .

关于python - 在源代码中查找引用的文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21325656/

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