ces expressions requièrent me rendre fou. Je suis coincé avec celui-ci:Expressions régulières: comment faire "option split" remplace
test1:[[link]] test2:[[gold|silver]] test3:[[out1[[inside]]out2]] test4:this|not
Tâche:
Supprimer tous les [[et]] et s'il y a une option Regrouper une suite si la sortie doit être:
test1:link test2:silver test3:out1insideout2 test4:this|not
je suis venu avec (PHP)
$text = preg_replace("/\\[\\[|\\]\\]/",'',$text); // remove [[ or ]]
cela fonctionne pour part1 de la tâche. mais avant que je pense que je devrais faire l'option Split, ma meilleure solution:
$text = preg_replace("/\\[\\[(.*\|)(.*?)\\]\\]/",'$2',$text);
Résultat:
test1:silver test3:[[out1[[inside]]out2]] this|not
Je suis coincé. quelqu'un avec quelques minutes gratuites peut-il m'aider? Merci!
oh. quelque chose que je n'ai pas pensé. laissez-moi jeter un oeil – cydo
Oui, je suis probablement allé trop loin avec mon expression régulière ... Mais j'aime les optimiser pour la précision et la vitesse parce que les expressions régulières sont lentes et il peut être vraiment perceptible dans certains cas si vous ne faites pas attention. – Blixt
test1:[[works]] test2:[[failed|works]] test3:[[out1[[inside]]out2]] test4:dont|replace test5:[[with[inner]bracket]] test6:[[nested[[link]]]] test7:[[it[[failed|works]]yesit[[failed|works]]]]
fonctionne tous. Merci! – cydo