Я работаю с регулярным выражением и у меня есть несколько строк в JavaScript. Мое выражение должно дать два совпадения, но распознает только одно, и я не знаю, в чем проблема.
Линии в javascript выглядят так:
if(mode==1) var adresse = "?APPNAME=CampusNet&PRGNAME=ACTION&ARGUMENTS=-A7uh6sBXerQwOCd8VxEMp6x0STE.YaNZDsBnBOto8YWsmwbh7FmWgYGPUHysiL9u0.jUsPVdYQAlvwCsiktBzUaCohVBnkyistIjCR77awL5xoM3WTHYox0AQs65SoHAhMXDJVr7="; else var adresse = "?APPNAME=CampusNet&PRGNAME=ACTION&ARGUMENTS=-AHMqmg-jXIDdylCjFLuixe..udPC2hjn6Kiioq7O41HsnnaP6ylFkQLhaUkaWKINEj4l2JqL2eBSzOpmG.b5Av2AvvUxEinUhMBTt5awdgAL4SkBEgYXGejTGUxcgPE-MfiQjefc=";
Мое выражение выглядит так:
(?<Popup>(popUp\(')|(adresse...")).*\?((?<Parameters>APPNAME=CampusNet[^>"']*["']))
Я хочу иметь два совпадения с APPNAME ...... в качестве параметров.
[ОБНОВЛЕНИЕ] Как писал Тим Пицкер, я использовал жадную версию и должен был использовать ленивую версию. в то время как он написал, что я решил это сам, используя. ? вместо. в середине, поэтому выражение выглядит так:
(?<Popup>(popUp\(')|(adresse...")).*?\\?((?<Parameters>APPNAME=CampusNet[^>"']*["']))
Это сработало. Благодаря Тиму Пицкеру