我内心有一个巨大的字符串:
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 ';
另外,我不能做额外的工作,我需要仅使用正则表达式进行第二次出现。
答案 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];