seth: Punkt gegen Komma tauschen mit Nebenbedingungen

Beitrag lesen

gudn tach!

$test2=~s/((?:^|\G|[ +-])\d+)\.(\d+)(?!\d|\.\d)/$1,$2/g;

hier wird von links eine zahl begrenzt von /^|\G|[ +-]/
und direkt nach einer zahl darf kein zeichen stehen, welches eine ziffer ist. ferner darf einer zahl nicht die zeichenfolge "[punkt][ziffer]" folgen.

mir ist noch was eingefallen: "\G" wird hier gar nicht mehr benoetigt, weil vermoege "?!" ja mit _zero_-_length_ gematcht wird.

also:
$test=~s/((?:^|[ +-])\d+)\.(\d+)(?!\d|\.\d)/$1,$2/g;
oder
$test=~s/(?<![^ +-])(\d+)\.(\d+)(?!\d|\.\d)/$1,$2/g;

prost
seth