首页 > 解决方案 > 正则表达式避免 {{ 和 }} 之间的所有单词

问题描述

我正在使用https://github.com/tbroadley/spellchecker-cli

我有一个我想运行 spellChecker 的 JSON 文件,它看起来像这样:

{
  "abc.editGroupsMaxLengthError": "Maximum {{charLen}} characters"
}

我想知道拼写检查器如何忽略所有{{单词}}

我试过了

[A-Za-z]+}}

如此处记录的https://github.com/tbroadley/spellchecker-cli#ignore-regexes忽略正则表达式。

但它似乎没有使用}}{{出于某种原因。

如何解决这个问题?

标签: regexspell-checkingspelling

解决方案


您可以使用/标签包装您的{{...}}子字符串,请参阅此 Github 问题<!-- spellchecker-disable --><!-- spellchecker-enable -->

所以,确保你的 JSON 看起来像

{
  "abc.editGroupsMaxLengthError": "Maximum <!-- spellchecker-disable -->{{charLen}}<!-- spellchecker-enable --> characters"
}

结果将是

C:\Users\admin\Documents\1>spellchecker spellchecker -f spellchecker_test.json
Spellchecking 1 file...

spellchecker_test.json: no issues found

要将{{...}}字符串包装在 Windows 中的某个文件中,您可以使用 PowerShell,例如,对于spellchecker_test.json文件:

powershell -Command "& {(Get-Content spellchecker_test.json -Raw) -replace '(?s){{.*?}}','<!-- spellchecker-disable -->$&<!-- spellchecker-enable -->' | Set-Content spellchecker_test.json}"

在 *nix 中,Perl 更可取:

perl -0777 -i -pe 's/\{\{.*?}}/<!-- spellchecker-disable -->$&<!-- spellchecker-enable -->/s' spellchecker_test.json

推荐阅读