【问题标题】:Regex replace replaces the whole word with the regex itself in VS code正则表达式替换用 VS 代码中的正则表达式本身替换整个单词
【发布时间】:2019-03-12 09:26:54
【问题描述】:

要修改的语句:

var test= $("find[id=match]");

我需要在以[ 开头并以] 结尾的文件夹中的所有文件中查找所有条目,并且它应该有两个以= 分隔的单词 在这种情况下:[id=match] 为此,我使用了以下正则表达式:\[\w*\=\w*\]

现在我想把它改成[id='match']

为此,我使用了以下正则表达式:\[\w*\=\'\w*\'\]

但预期的结果并没有发生。

【问题讨论】:

  • 你的意思是你想找到所有匹配你最后一个正则表达式的出现,比如[id='match']?我在regex101.com/r/GKoeqK/1 中尝试了你的正则表达式,它可以工作。
  • @ALFA 问题不在于查找正则表达式。问题在于更换。就像我需要将语句从 id=match 替换为 id id='match' 这不是针对特定单词的。它应该适用于出现的每个单词。问题只是用引号将 = 右侧的单词括起来。
  • 请提供样本数据和预期输出。谢谢
  • @Simonare 请找到以下示例:[test= read]。这应该改为 [test='read']
  • (\[\w*=)(\w*)(]) -> $1'$2'$3

标签: regex visual-studio-code


【解决方案1】:

你可以使用

(?<=\[\w*\=)(\w*)(?=\])

用于匹配正则表达式。并替换'$1'

Regexr Demonstration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2016-11-12
    • 1970-01-01
    • 2020-02-13
    • 2022-12-10
    相关资源
    最近更新 更多