J'ai un ensemble de requêtes regexp pour faire récursivement parcourir la chaîne dans l'ordre.javascript regex plusieurs requêtes
Y at-il un moyen que je peux tout faire avec 1 appel comme (ne fonctionne pas)?
str.replace(/query1|query2|query3|query4|...|[0-9]+|[^]/,
"reslt1|reslt2|reslt3|reslt4|...|procNumb|procChar");
Il suffit de travailler dans Firefox. En ce moment je suis coincé avec:
str.replace(... ,function(a,b,c){if (a=="query1") return "reslt1"; ..............});
Merci!
Éditer: Désolé si cela prête à confusion. Objectif:
Avant: "query1query3x123query2" Après: "reslt1reslt3procChar (x) procNumb (123) reslt2"
La chose principale est que je dois-je traiter la chaîne 1 fragment à la fois récursive, donc je pense Je dois utiliser une super-requête comme celle-ci pour correspondre à tout, ou ne pas utiliser d'expressions rationnelles du tout. Je me demande simplement s'il existe un moyen de jumeler automatiquement les résultats aux requêtes lorsque vous utilisez beaucoup de tuyaux. Je ne suis pas si familier avec javascript regex mais je n'ai malheureusement rien trouvé sur mdc.
Ce que vous essayez de faire n'est pas clair. Pouvez-vous inclure des exemples «avant» et «après» (simplifiés, idéalement)? –
Essayez-vous de combiner plusieurs appels 'str.replace' en un seul? Je ne pense pas que ce soit possible. Je voulais juste souligner que vous n'avez pas échappé '^' dans votre dernière regex,^signifie la négation dans une classe de caractères. Cela devrait être '[\ ^]'. – Amarghosh
[^] correspond à un seul caractère de n'importe quoi. – user202987