数値として正しくないものの一部にマッチするのがいやなんだろ
そりゃ前後の条件を指定してないからマッチするのは当然なんだから
(?<![0-9.])と(?![0-9.])を前後につけりゃ弾けるよ