Je suis en train d'analyser url-encodé les chaînes sont constituées de paires valeur / clé séparés par &
ou &
.
Les éléments suivants ne correspondent à la première occurrence, briser les clés et les valeurs en différents éléments:
var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/)
Les résultats de la chaîne '1111342=Adam%20Franco&348572=Bob%20Jones" serait:
['1111342', 'Adam%20Franco']
À l'aide de l'indicateur global, 'g', correspond à tous les événements, mais uniquement retourner le bien adaptée sous-chaînes, pas la séparation de clés et de valeurs:
var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/g)
Les résultats de la chaîne '1111342=Adam%20Franco&348572=Bob%20Jones" serait:
['1111342=Adam%20Franco', '&348572=Bob%20Jones']
Alors que je pouvais diviser la chaîne sur &
et séparer chaque paire clé/valeur individuellement, est-il possible à l'aide de JavaScript support des expressions régulières pour correspondre à de multiples occurrences de la séquence /(?:&|&)?([^=]+)=([^&]+)/
similaire à PHP preg_match_all()
fonction?
Je vise une certaine façon à obtenir des résultats avec le sous-correspondances séparés comme:
[['1111342', '348572'], ['Adam%20Franco', 'Bob%20Jones']]
ou
[['1111342', 'Adam%20Franco'], ['348572', 'Bob%20Jones']]