以“=”开头的正则表达式模式和异常

regex pattern starting with "=" and exceptions

我正在尝试编写一个表达式,它将与 json 文件一起用于 vscode 扩展。我的表达式应该以 "=\s*" 开头,然后我希望它是 select 等于之后的所有内容,但以下情况除外:

  1. TRUEFALSE等于
  2. 以数字开头
  3. 以 ' 或 " 开头

我已经尝试了很多东西,并且在每种情况下我都设法使它起作用,但是当我尝试将它们组合在一起时,它不起作用

文档字符串示例:

abc = test
abc = TRUE
abc = FALSE
abc = "test"
abc = 'test'
abc = 123

在这些例子中,我的正则表达式应该只保留第一个,“测试”可以是任何东西。

最接近解的是这个/(=\s*)^(((?!TRUE|FALSE|[0-9]|\"|\').)*)$/gm

你可以使用

查找内容^(.*?=)(?!\s*(?:TRUE|FALSE|[0-9"'])).*
替换为</code></p> <p><em>详情</em>:</p> <ul> <li><code>^ - 行首

  • (.*?=) - 第 1 组:除换行符以外的任何零个或多个字符,尽可能少,然后是 = 字符
  • (?!\s*(?:TRUE|FALSE|[0-9"'])) - 如果在当前位置的右侧紧邻有
    • \s* - 零个或多个空格
    • (?:TRUE|FALSE|[0-9"']) - TRUE, FALSE, 数字或 "'
  • .* - 该行的其余部分。
  • 查看 regex demo 和演示屏幕截图: