File_Regex打破了崇高的构建



此正则在sublimetext搜索字段中工作:

([^/]+.java)

如果我在 .sublime-build文件中使用该正则条件:

  • .以红色突出显示,
  • 无法确认构建系统。

当我评论行"file_regex": "([^/]+.java)"时,构建系统被识别。

{
  "cmd": ["gradle" , "build"],
  "working_dir": "${project_path}",
  "file_regex": "([^/]+.java)"
}

问题:为什么在搜索中工作的正则是.sublime-build文件中不起作用?

.sublime-build文件使用JSON文件格式。

您需要逃脱json的后背来处理它,然后将后斜切传递到正则延伸。

这样:

"file_regex": "([^/]+\.java)"

由于构建系统将在python的底层崇高文本中使用,让我们自己放心,python将按照我们的期望阅读。

测试Python代码:

import re
builddict = {
  "cmd": ["gradle" , "build"],
  "working_dir": "${project_path}",
  "file_regex": "([^/]+\.java)"
}
re_pattern = builddict['file_regex']
prog = re.compile(re_pattern)
teststrings = ['aaa.java', 'aaajava']
for teststring in teststrings:
    result = prog.search(teststring)
    if result is None:
        print(teststring + ' no match')
    else:
        print(teststring + ' matched')

输出:

aaa.java matched
aaajava no match

我假设符合您所需的输出?

最新更新