Ich habe einen String wie folgt aus (die der Wert des Attributs href ist):Wie kann ich einen bestimmten Parameter von der URL abgleichen?
var url = '/myweb/search?s=islamic_sources&q=test';
Es sieht auch manchmal wie diese:
url = '/myweb/search?q=test';
url = '/myweb/search?q=test&g=sth';
^[^?]+.*?&?q=([^$|&]+)
ist was ich bisher versucht habe, und ich muss test
in diesen drei Zeilen übereinstimmen. Aber leider scheint $
bedeutet nicht das Ende der Linie in meinem Muster. Wie kann ich es reparieren?
Es ist nicht ganz klar, warum Sie diese Regex gewählt haben. Probieren Sie ['\ bq = ([^ &] +) (?!. * \?)'] (Https://regex101.com/r/xuRvUs/1) (beachten Sie '\ n', das seither in der Demo hinzugefügt wurde) ist eine mehrzeilige Zeichenfolge). Das '(?!. * \?)' Hier wird alle Übereinstimmungen außerhalb einer Abfragezeichenfolge fehlschlagen. –
Regex ist knifflig, aber hier ist, wie jemand anderes auf SO die Abfragevariablen in einer ähnlich formatierten Zeichenfolge zugreift, ich hoffe, es hilft! http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript –
folgen Sie diesem - https://gist.github.com/marmeladze/f693501707940b1ea1af433c327800a9 – marmeladze