seth_not@home: reguläre ausdrücke

Beitrag lesen

gudn tach!

([0-9]*).([0-9]{3} m²)

(literale) punkte muessen mit backslash maskiert werden.

und falls mehrere punkte vorkommen, z.b. in "1.000.000", dann wird der erste punkt nicht gematcht. statt "[0-9]" kann man uebrigens auch kuerzer "\d" schreiben.

also ich wuerde es mal (in perl-schreibweise) mit

s/(\d+).(?=\d{3}(?:.\d{3})+ m2)/$1,/g
  (ungetestet)

versuchen. fuer (?=...) schau mal im handbuch (perldoc perlman) unter "positive look-ahead assertion".

soweit klar? funzt's?

und natuerlich kann ich es mir wieder nicht verkneifen, darauf hinzuweisen, dass sowohl punkte als auch kommas weitgehend vermieden werden sollten als zifferngruppierungszeichen.

prost
seth