Sublime Text - REGEX:如何匹配字符串中的单词?

问题描述 投票:0回答:1

我正在使用 Sublime 的“在文件中查找”功能来搜索特定字符串中的特定单词,该字符串在多个文件中重复。

类似这样的事情:

tags: TAG1 TAG2 TAG3 TAG4
alias: ALIAS1, ALIAS2`

我试图在“标签”和“别名”之间找到“TAG2”,并且正在考虑这样的 REGEX 表达式:

(?s)(?<=tags)TAG2(?=alias)

受到这个上一个问题的启发,但是 Sublime 的 REGEX 语法不同,我无法适应它。

有什么想法吗?谢谢。

regex sublimetext3
1个回答
0
投票

对于包含 2 行的示例数据:

^tags:.*\K\bTAG2\b(?=.*\Ralias:)

模式匹配:

  • ^
    字符串开头
  • tags:
    按字面意思匹配
  • .*
    匹配该行的其余部分
  • \K
    忘记了匹配的是什么(所以不包含在匹配中)
  • \bTAG2\b
    匹配单词边界之间的“单词”TAG2
  • (?=
    正向前瞻,断言右侧是什么
    • .*\R
      匹配其余部分或该行和换行符
    • alias:
      按字面意思匹配
  • )
    关闭前瞻

查看 正则表达式演示

注意,如果您使用

(?s)
,则
.
将匹配包括换行符在内的任何字符,因此
.*
可以跨越多行。

© www.soinside.com 2019 - 2024. All rights reserved.