Je veux convertir ceci:Javascript RegEx - Je veux correspondre à un modèle autre que le premier occurance
.className#lets.par.ty
à ceci:
.className[id="lets"][class="par"][class="ty"]
Je ne veux pas modifier la première instance du "."
Voici ce que je suis venu avec, mais je sais qu'il est absolument pas idéal:
cssOutput[i] = cssOutput[i]
.replace (/^#/,'?') // convert all start ids to ?
.replace (/#([^\.#]+)/g,'[id="$1"]') // insert [id=""]
.replace (/\?/g,'#') // convert all start ? back to ids
.replace (/^\./,'?') // convert all start classes to ?
.replace (/\.([^\.#]+)/g,'[class="$1"]') // insert [class=""]
.replace (/\?/g,'.') // convert all start ? back to classes
Quelqu'un peut-il aider?
Merci beaucoup Bart! Je me sens mal, j'aurais dû être plus précis. Je passe actuellement un tableau dans cette méthode de remplacement et le tableau peut contenir n'importe quel nombre de séquences différentes. Par exemple: [[.className1], [# className2], [.className.class1 # class2]] - il doit donc être très flexible. Je pourrais avoir besoin de faire quelques passes mais je me demande si dans RegEx il y a un moyen d'attraper un motif qui ne commence pas sur le premier caractère. –
@Marcy, voir mon EDIT. –