使用 sublime 正则表达式查找所有不以 "home" 单词开头的链接

Using sublime regex to find all links that dont start with "home" word

我正在使用车把。所以我需要一种方法来检测所有不以家庭姓名开头的 {{#link-to 'route-name'}}... 助手。我是正则表达式的新手,所以我找不到好的正则表达式。坏例子:([^home]|^) {{#link-to

您正在使用 [^...] 术语,这意味着除括号中的字符外的任何字符,因此 [^home] 应匹配除 ho 之外的任何字符, me.

在你的例子中,你正在搜索的是一个负前瞻:

^.+\s?{{#link-to '(?:(?!home).{0,4}.*)'}}

看看这个Regex101 working example

  • ^ 匹配文本的开头(或行,启用 /m 标志)
  • .+ 匹配元素的名称(如果需要,您可以删除它)
  • \s? 匹配一次或零次出现的空白字符(\s,您也可以删除)
  • {{#link-to ' 待匹配文本的文字形式
  • (?: 非捕获组的开始
  • (?! 否定先行组的开始
  • home 不匹配的文字文本
  • ) 否定先行组结束
  • .{0,4} 匹配任何零到四个字符,除非它们的值为 home(因为 (?!home)
  • .* 如果 link-to 的名字超过四个字符,则匹配它们。
  • )非捕获组结束
  • '}} 要匹配的文字文本(路径结束 link)