Javascript查找第三次出现在字符串中的子字符串

javascript find 3rd occureance of a substring in a string

本文关键字:字符串 查找 第三次 Javascript      更新时间:2023-09-26

我试图在字符串

中提取'|'字符和';GTSet'字符串的第三次出现之间的子字符串

例如,如果我的字符串是"AP0|#c7477474-376c-abab-2990-918aac222213;L0|#0a4a23b12-125a-2ac2-3939-333aav111111|ABC xxx;pATeND|#222222ANCJ-VCVC-2262-737373-3838383";

我想用javascript从上面的字符串中提取"ABC xxx"。我尝试了以下选项

var str = "AP0|#c7477474-376c-abab-2990-918aac222213;L0|#0a4a23b12-125a-2ac2-3939-333aav111111|ABC xxx;pATeND|#222222ANCJ-VCVC-2262-737373-3838383";
         alert(str.match(/^|';pATeND(.*)$/gm));
          //var n = str.search(";pATeND");
         //to get the 3rd occurance of | character
         //var m = str.search("s/'(.'{-}'z|')'{3}");

这个向前看的正则表达式应该可以工作:

/[^|;]+(?=;pATeND)/

RegEx演示

或者如果paTeND text是已知的,那么获取第三个|后面的值:

^(?:[^|]*'|){3}([^|;]+)

并使用已捕获组#1。

演示2