Expressions régulières sont un vide complet pour moi. Je suis en train de m'en occuper maintenant avec TextMate qui fait ce que je veux faire ... mais je ne sais pas POURQUOI fait ce que je veux qu'il fasse.Expliquez cette expression régulière s'il vous plaît
/[[:alpha:]]+|()/(?1::$0)/g
C'est utilisé dans un extrait TextMate et ce qu'il fait est prend une étiquette et l'émet comme un nom identifiant. Donc, si je tape "First Name" dans la première place, cela sort "FirstName". Auparavant, il ressemblait à ceci:
/[[:alpha:]]+|()/(?1:_:/L$0)/g (it might have been \L instead)
Cela tournerait "First Name" dans "prenom". Donc, je comprends que le trait de soulignement ajoute un trait de soulignement pour un espace, et que le/L minuscules tout ... mais je ne peux pas comprendre ce que le reste fait ou pourquoi.
Quelqu'un veut t'expliquer morceau par morceau?
EDIT
Voici l'extrait en question réelle:
<column header="$1"><xmod:field name="${2:${1/[[:alpha:]]+|()/(?1::$0)/g}}"/></column>
Cette syntaxe regex fonctionnera-t-elle en dehors de TextMate? Je suppose que lorsque je tape TextMate, il ne fonctionne que sur le caractère que je viens de taper. Comment cette expression régulière serait-elle écrite pour l'appliquer à un fichier entier? –
Voir la réponse mise à jour ci-dessus pour un exemple en dehors de TextMate. –