1 votes

Regex - Formatage avec onglets et alphabétique

Est-il possible d'utiliser l'expression rationnelle pour transformer cette

<site-ui:header title="error" backURL="javascript:history.go(-1);" />

dans ce

<site-ui:header 
  backURL="javascript:history.go(-1);" 
  title="error" 
/>

En gros, mon objectif est de formater ce fichier xml de manière à ce que les champs soient dans l'ordre alphabétique (par exemple, backURL vient avant title), et chaque champ doit être tabulé à deux espaces.

Si cela peut être fait, toute indication serait vraiment utile ! Une regex exacte pour vim serait encore plus utile.

1voto

µBio Points 6959

Cela ressemble plus à un travail pour xslt/xsd ou un analyseur personnalisé avec une poignée de regex et d'autres manipulations de chaînes.

Une seule regex ne suffira pas. Surtout la partie alphabétisation

Le faire avec une macro Vim ou script est très probablement possible, mais au-delà de mes maigres pouvoirs vim.

1voto

Ether Points 34103

Ces substitutions simples devraient faire l'affaire, sauf pour le tri :

:%s/ title=/^V^M  title=/g
:%s/ backURL=/^V^M  backURL=/g

Notez que ^V^M ci-dessus est un littéral ^V^M .

0voto

Meiscooldude Points 1435

Je ne suis pas tout à fait sûr, ma connaissance des expressions rationnelles et de leurs capacités est limitée. Mais voici un outil qui m'a toujours aidé !

http://xenon.stanford.edu/~xusch/regexp/analyseur.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X