使用sublime regex查找所有不以" home"开头的链接字

时间:2017-07-06 15:27:34

标签: regex ember.js handlebars.js sublimetext2

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

1 个答案:

答案 0 :(得分:2)

您使用的是[^...]字词,这意味着括号中的字符除外,因此[^home]应匹配除ho,{之外的任何字符{1}}和m

在您的情况下,您要搜索的是否定前瞻:

e

看看这个Regex101 working example

  • ^.+\s?{{#link-to '(?:(?!home).{0,4}.*)'}} 匹配文本的开头(或行,启用/ m标志)
  • ^匹配元素的名称(如果需要,可以将其删除)
  • .+匹配空格字符的一个或零个匹配项(\s?,您也可以删除)
  • \s要匹配的文字的字面形式
  • {{#link-to '启动非捕获组
  • (?:启动否定前瞻小组
  • (?!文字文字不匹配
  • home否定前瞻小组结束
  • )匹配任何零四个字符,除非它们的值为.{0,4}(因为home
  • (?!home)如果链接名称的长度超过四个字符,请匹配它们。
  • .*非捕获组的结束
  • )要匹配的文字文字(路线链接的结尾)