我正在使用把手。所以我需要一种方法来检测所有不以家庭名称开头的{{#link-to 'route-name'}}...
助手。我是正则表达式的新手,所以我找不到好的正则表达式。不好的例子:([^home]|^) {{#link-to
答案 0 :(得分:2)
您使用的是[^...]
字词,这意味着括号中的字符除外,因此[^home]
应匹配除h
,o
,{之外的任何字符{1}}和m
。
在您的情况下,您要搜索的是否定前瞻:
e
^.+\s?{{#link-to '(?:(?!home).{0,4}.*)'}}
匹配文本的开头(或行,启用/ m标志)^
匹配元素的名称(如果需要,可以将其删除).+
匹配空格字符的一个或零个匹配项(\s?
,您也可以删除)\s
要匹配的文字的字面形式{{#link-to '
启动非捕获组(?:
启动否定前瞻小组(?!
文字文字不匹配home
否定前瞻小组结束)
匹配任何零四个字符,除非它们的值为.{0,4}
(因为home
)(?!home)
如果链接名称的长度超过四个字符,请匹配它们。.*
非捕获组的结束)
要匹配的文字文字(路线链接的结尾)