我正在使用 Sublime 的“在文件中查找”功能来搜索特定字符串中的特定单词,该字符串在多个文件中重复。
类似这样的事情:
tags: TAG1 TAG2 TAG3 TAG4
alias: ALIAS1, ALIAS2`
我试图在“标签”和“别名”之间找到“TAG2”,并且正在考虑这样的 REGEX 表达式:
(?s)(?<=tags)TAG2(?=alias)
受到这个上一个问题的启发,但是 Sublime 的 REGEX 语法不同,我无法适应它。
有什么想法吗?谢谢。
对于包含 2 行的示例数据:
^tags:.*\K\bTAG2\b(?=.*\Ralias:)
模式匹配:
^
字符串开头tags:
按字面意思匹配.*
匹配该行的其余部分\K
忘记了匹配的是什么(所以不包含在匹配中)\bTAG2\b
匹配单词边界之间的“单词”TAG2(?=
正向前瞻,断言右侧是什么
.*\R
匹配其余部分或该行和换行符alias:
按字面意思匹配)
关闭前瞻查看 正则表达式演示
注意,如果您使用
(?s)
,则 .
将匹配包括换行符在内的任何字符,因此 .*
可以跨越多行。