首页 > 解决方案 > VS Code 正则表达式只搜索大写字母

问题描述

在 VS Code 中,我想进行以下搜索和替换,但它不仅仅匹配大写字母。这是一个错误/缺陷还是我错过了什么?

查找:\{\$([A-Z_]+)\}
替换:{$1}

所以这:

$(document).ready(function () 
{
    generarEstado('{$GRAPH_BY_STATUS} ','{$nombreSitio}','{$nombreSitioCorto}');
    generarSexo('{$GRAPH_BY_SEX} ','{$nombreSitio}','{$nombreSitioCorto}');
    generarSexGrade('{$GRAPH_BY_SEX_AND_GRADE} ','{$nombreSitio}','{$nombreSitioCorto}');
});

应该变成:

$(document).ready(function () 
{
    generarEstado('{GRAPH_BY_STATUS} ','{$nombreSitio}','{$nombreSitioCorto}');
    generarSexo('{GRAPH_BY_SEX} ','{$nombreSitio}','{$nombreSitioCorto}');
    generarSexGrade('{GRAPH_BY_SEX_AND_GRADE} ','{$nombreSitio}','{$nombreSitioCorto}');
});

但它也匹配其他{$nombreSitio}等等{$nombreSitioCorto}

标签: regexvisual-studio-code

解决方案


确保在查找和替换选项中,除了进行正则匹配之外,检查了“匹配大小写”选项。就个人而言,我认为这种行为很奇怪。如果您选择正则表达式,它应该使用正则表达式,而不是不区分大小写的正则表达式,但这显然是它的工作方式。请参阅:https ://github.com/Microsoft/vscode/issues/6993


推荐阅读