此正则在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
我假设符合您所需的输出?