繁体   English   中英

使用RegEx获取最后一次出现

[英]Get last occurrence using 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                            ';

另外,我不能做额外的工作,我只需要使用正则表达式就可以得到第二次出现。

如果要在字符串中获取正则表达式的最后一次出现(并假设它存在),则可以执行

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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM