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



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

>您使用的是[^...]术语,这意味着除括号中的字符之外的任何字符,因此[^home]应匹配除home以外的任何字符。

在您的情况下,您正在寻找的是负面展望:

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

看看这个正则表达式101工作示例。

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

最新更新