2012-03-26 11 views
1

Ich versuche, eine Methode in C# zu schreiben, um PX in EM und umgekehrt in eine CSS-Datei zu konvertieren.Regex zu entsprechen em in CSS-Datei

Um das zu erreichen, möchte ich Regex verwenden, um den Wert (zB 12em) zu vergleichen und es in px umzuwandeln.

Bisher habe ich den folgenden Ausdruck

(.*)^([0-9,-\.]+)(px)(.*) 

diese Spiele

border: solid 3em gray; 
margin: 1.2em 2em 3em 4em;  
margin: 1em 2em  3em 4em ; 

aber nicht

width:50.1em; 
width: 50.1em; 

Jeder Vorschlag?

Antwort

0

Versuchen (.+):(.*)^([0-9,-\.]+)(px)(.*)

2

Sie könnten eine viel einfachere Nadel verwenden, wie diese.

([\d.])+em 

Es gibt wahrscheinlich mögliche Fälle, wo es nicht funktionieren würde, aber sie sind wenige und weit dazwischen, z.

Wenn Sie solche Vorbeugung benötigen, holen Sie sich einen CSS-Parser.

demo

0

Das Muster, das für mich gearbeitet ist

(.*?:?)([0-9,-\.]+)\s*(em)(.*) 

Dank alextercete zu diesem Regular Expression Helper für den Hinweis.

Verwandte Themen