用Python解析Java源文件
我有一堆Java源文件。我需要写一个Python脚本,去检查这些源文件,找出所有的字符串字面量以及它们的位置。
问题是,这些字符串可能有几种不同的形式,比如:
- 字符串字面量 - "Hello World"
- 字符串组合 - "Hello" + "World"
我想到了几种方法来实现这个目标:
- 逐行检查源文件,寻找引号 ",用它来确定字符串的位置
- 使用正则表达式
你对我提到的这些方法有什么看法,或者有没有我没想到的其他方法?
顺便说一下,我们正在对代码进行国际化处理。这就是我想要自动化这个过程的原因。
3 个回答
4
使用 re 模块是最快的解决办法。
你可以用 re.finditer(),它会返回每个匹配的正则表达式,以及匹配的内容和位置。
>>> for m in re.finditer(r"\w+ly", text):
... print '%02d-%02d: %s' % (m.start(), m.end(), m.group(0))