0

我有一个像这样的字符串:

{
    { SomeTextNoQuotes, "Some Text's", "Some Text" },
    { SomeTextNoQuotes, "Some Text's", "Some Text" },
    { SomeTextNoQuotes, "Some Text's", "Some Text" },
    { SomeTextNoQuotes, "Some Text's", "Some Text" },
    { SomeTextNoQuotes, "Some Text's", "Some Text" },
}

如何匹配, "Some Text"每一行的最后一行,就在}? 顺便说一句,这是我正在尝试做的 Sublime Text。这些值并不一致,就像我在这里一样,我有几百行要替换。

我试过, ".*"但匹配, "Some Text's, "Some Text"

4

3 回答 3

1

我不使用 Sublime Text,但如果它支持前瞻,, ".[^"]*"(?= })应该可以解决问题。

于 2013-10-16T00:52:25.873 回答
1

有几种方法可以解决这个问题。

选项#1我们匹配第一组,然后捕获第二组,包括逗号\1$1

"[^"]*"(, "[^"]*")

观看现场演示

选项#2我们使用前瞻来查找匹配的集合。

, "[^"]*"(?= \})

观看现场演示

选项#3我们可以匹配整个字符串,我们的匹配包含在捕获组中\1$1

\{[\S\s]*?(,\s+"[^"]*")\s+\}

观看现场演示

于 2013-10-16T01:35:03.223 回答
0

以下应该有效(使用前瞻):

("Some Text")(?= \}\,)

捕获的文本将在第一个匹配的组中找到

链接到小提琴

于 2013-10-16T00:55:44.490 回答