使用RegEx获取最后一次

时间:2016-01-06 16:46:26

标签: javascript regex

我内心有一个巨大的字符串:

linha[0] = '12/2010    281R$          272.139,05                            ';
linha[0] = '13SL         1R$          226.185,81                            ';

两行都是分开的,我需要从两者中得到最后一个。我正在使用以下正则表达式匹配第一个:

/linha\[0]\s=\s'(.*)';/

我想获得第二个“linha ......”,但我不确切知道如何。

这就是我正在使用这个正则表达式来获得第一个“linha ...”:

string.match(/linha\[0]\s=\s'(.*)';/);

输出:

linha[0] = '12/2010    281R$          272.139,05                            ';

另外,我不能做额外的工作,我需要仅使用正则表达式进行第二次出现。

1 个答案:

答案 0 :(得分:2)

如果你想在字符串中得到你的正则表达式的最后一次出现(并假设它存在),你可以做

var str = hugeString.match(/linha\[0]\s=\s'([^']*)';/g).pop();

(是的,我将.*更改为[^']*以获得更高的效率,如果您的内部字符串中有引号,请忽略它

现在,如果您只想提取子匹配,可以

var regex = /linha\[0]\s=\s'([^']*)';/g,
    arr,
    str;
while (arr = regex.exec(hugeString)) str = arr[1];