我想用一个正则表达式来转换一个完全合格的路径(例如/ home/user/java/project/src/main/java/com/website/project/File。 java)转换成相应的Java包。正则表达式:完整路径到Java包
这意味着,我想去掉一切之前和包括的“java /”,文件名加斜杠开头。然后将所有剩余的斜线变成圆点。
我似乎能够通过使用以下匹配这条
.+main\/java\/|\/|[a-zA-Z$]+(\.java)
,并以点代替变得相当远。 (正则表达式基本上查找之前和之后的所有内容,包括“main/java /”,然后用/替换所有/,然后删除文件名。
问题是我现在有太多的点,我显然不能摆脱自从我用点:)
更换既然我没有使用正则表达式太出色了,我可能使用一种完全错误的做法反正...
我将非常感谢任何帮助。
PS:不幸的是,我需要使用只是一个单一的正则表达式,因为我只能注入一个,而不是保存结果到临时变量或类似的东西。
非常感谢!
编辑
我想创建一个tmSnippet为的TextMate /崇高文本。 我想添加短语“package com.company.project”(当然包括实际的软件包名称),自动添加到新文件中。 问题是,在这样的片段中,你可以采用文件的完整路径并在输出之前通过正则表达式运行它。这就是为什么我只能使用一个正则表达式。
EDIT2
我能够做什么,我想用一个Python脚本,并运行在崇高的文本命令。 对于有兴趣的人,请看GitHub commit。我仍然很好奇是否有可能将所有这些变成一个RegEx。我甚至不相信这是可能的...
你为什么要逃避'/'s? – 2012-02-28 23:23:02
我相信他在Perl/sed/awk中思考,其中斜杠是正则表达式分隔符。 – 2012-02-28 23:28:15
噢,是的,我是逃避斜线,因为它是分隔符... – Tim 2012-02-28 23:53:25