使用 sublime 正则表达式查找所有不以 "home" 单词开头的链接
Using sublime regex to find all links that dont start with "home" word
我正在使用车把。所以我需要一种方法来检测所有不以家庭姓名开头的 {{#link-to 'route-name'}}...
助手。我是正则表达式的新手,所以我找不到好的正则表达式。坏例子:([^home]|^) {{#link-to
您正在使用 [^...]
术语,这意味着除括号中的字符外的任何字符,因此 [^home]
应匹配除 h
、o
之外的任何字符, m
和 e
.
在你的例子中,你正在搜索的是一个负前瞻:
^.+\s?{{#link-to '(?:(?!home).{0,4}.*)'}}
^
匹配文本的开头(或行,启用 /m 标志)
.+
匹配元素的名称(如果需要,您可以删除它)
\s?
匹配一次或零次出现的空白字符(\s
,您也可以删除)
{{#link-to '
待匹配文本的文字形式
(?:
非捕获组的开始
(?!
否定先行组的开始
home
不匹配的文字文本
)
否定先行组结束
.{0,4}
匹配任何零到四个字符,除非它们的值为 home
(因为 (?!home)
)
.*
如果 link-to 的名字超过四个字符,则匹配它们。
)
非捕获组结束
'}}
要匹配的文字文本(路径结束 link)
我正在使用车把。所以我需要一种方法来检测所有不以家庭姓名开头的 {{#link-to 'route-name'}}...
助手。我是正则表达式的新手,所以我找不到好的正则表达式。坏例子:([^home]|^) {{#link-to
您正在使用 [^...]
术语,这意味着除括号中的字符外的任何字符,因此 [^home]
应匹配除 h
、o
之外的任何字符, m
和 e
.
在你的例子中,你正在搜索的是一个负前瞻:
^.+\s?{{#link-to '(?:(?!home).{0,4}.*)'}}
^
匹配文本的开头(或行,启用 /m 标志).+
匹配元素的名称(如果需要,您可以删除它)\s?
匹配一次或零次出现的空白字符(\s
,您也可以删除){{#link-to '
待匹配文本的文字形式(?:
非捕获组的开始(?!
否定先行组的开始home
不匹配的文字文本)
否定先行组结束.{0,4}
匹配任何零到四个字符,除非它们的值为home
(因为(?!home)
).*
如果 link-to 的名字超过四个字符,则匹配它们。)
非捕获组结束'}}
要匹配的文字文本(路径结束 link)