我里面有一个巨大的字符串:
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 ';
另外,我不能做额外的工作,我只需要使用正则表达式就可以得到第二次出现。
最佳答案
如果要在字符串中获取正则表达式的最后一次出现(并假设它存在),则可以执行
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];