Je me demandais comment utiliser un regexp pour correspondre à une phrase qui vient après une certaine correspondance. Comme:
var phrase = "yesthisismyphrase=thisiswhatIwantmatched"; var match = /phrase=.*/;
Cela correspondra de la phrase=
à la fin de la chaîne, mais est-il possible d'obtenir tout après la phrase=
sans avoir à modifier une chaîne ?
Vous utilisez des groupes de capture (désignés par des parenthèses).
Lorsque vous exécutez la fonction regex via correspondance ou exec, renvoyez un tableau composé des sous-captures capturées par des groupes de capture. Vous pouvez ensuite accéder à ce qui a été capturé via ce tableau. Par exemple:
var phrase = "yesthisismyphrase=thisiswhatIwantmatched"; var myRegexp = /phrase=(.*)/; var match = myRegexp.exec(phrase); alert(match[1]);
ou
var arr = phrase.match(/phrase=(.*)/); if (arr != null) { // Did it match? alert(arr[1]); }
phrase.match(/phrase=(.*)/)[1]
résultats
"thisiswhatIwantmatched"
Les brackets spécifient un groupe appelé capture. Les contenus des groupes de capture sont mis dans le tableau résultant, à partir de 1 (0 est le match complet).
Laissez-le essayer, j'espère que ça marche
var p = /\b([\w|\W]+)\1+(\=)([\w|\W]+)\1+\b/; console.log(p.test('case1 or AA=AA ilkjoi')); console.log(p.test('case2 or AA=AB')); console.log(p.test('case3 or 12=14'));