在第n次出现指定字符后匹配所有内容

时间:2016-08-31 20:07:41

标签: regex

我有一个我需要编辑的本地化文件,但有两千行,我宁愿不手动执行此操作。

每一行的格式都是这样的:"abc" = "123";我需要替换123代替的任何内容。

我想要它做的是匹配第三个"之后的所有内容。

我尝试了多种组合,例如(?:[^"]*"){3}^[.^"]"*[^"]"*[^"]"*的变体,但它们并没有产生我需要的东西。

所以在这个例子中:

"abc" = "123";
"def" = "456";
"ghi" = "789";

123";456";789";应匹配。

2 个答案:

答案 0 :(得分:1)

我建议这样做:

[^"]*(?=";)

这仅匹配引号中的部分,不包括(但要求)结尾";

请参阅regex101

上的演示

答案 1 :(得分:0)

这将捕获最后一个引号之间的任何内容

" = "(.*)";$