此正则表达式适用于SublimeText搜索字段:
([^\/]+\.java)如果我在.sublime-build文件中使用该正则表达式:
\.以红色高亮显示,并且当我注释掉行"file_regex": "([^\/]+\.java)"时,构建系统就被认可了。
{
"cmd": ["gradle" , "build"],
"working_dir": "${project_path}",
"file_regex": "([^\/]+\.java)"
}问题:为什么在搜索中工作的正则表达式不能在.sublime-build文件中工作?
发布于 2018-01-05 04:34:54
.sublime-build文件使用JSON文件格式。
您需要为JSON转义反斜杠来处理它,并将反斜杠传递给regex。
如下所示:
"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我想这能满足你想要的输出?
https://stackoverflow.com/questions/47973525
复制相似问题