regex Sublime Text -正则表达式:如何匹配字符串中的单词?

7cjasjjr  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(139)

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

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

我试图在“tags”和“alias”之间找到“TAG2”,并在考虑像这样的正则表达式:

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

受此Previous Question的启发,但Sublime的REGEX语法不同,我无法适应它。
有什么想法吗?谢谢。

yruzcnhs

yruzcnhs1#

对于具有2行的示例数据:

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

模式匹配:

  • ^字符串开头
  • tags:按字面匹配
  • .*匹配行的其余部分
  • \K忘记到目前为止匹配的内容(因此不要包含在匹配中)
  • \bTAG2\b匹配单词边界之间的“单词”TAG 2
  • (?=积极前瞻,Assert右边是什么
  • .*\R匹配其余部分或行和换行符
  • alias:按字面匹配
  • )关闭前瞻

参见regex demo

注意,如果使用(?s).将匹配包括换行符在内的任何字符,因此.*可以跨多行。

相关问题