Sublime text和regex,捕获两个字符串?

时间:2015-01-09 14:03:30

标签: regex sublimetext3

我正在使用SublimeText3。我有一个表达式如下

\eq{\label{LABEL}
data1
data2
}

我希望能够抓住LABEL

data1
data2

以后我可以使用它们,比如将它们称为$1$2

我可以在\eq{} (?<=^\\eq\{)(([\s\S]*?))(?=^\})之间捕获。

我可以在\label{} (?<=\\label\{)((.*?))(?=\})之间捕获。

我如何抓住两者?

3 个答案:

答案 0 :(得分:1)

我想你想要这样的东西

/\{(\w+)\}\n([^\}]*)/g

DEMO

{(\w+)}将查找{}之间的字符串,并将其放入$1\n是新行字符{{1在遇到([^}]*)之前会捕获任何内容,并将其放入}

答案 1 :(得分:1)

你也可以试试这个,

(?<=^\\eq\{)\\label{(.*?)\}([\s\S]*?)(?=^\})

答案 2 :(得分:1)

在Sublime中,您可以使用以下表达式:

\\eq{\\label\{([^}]+)\}([^}]+)