簡體   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