\B\.
ドットの前に数字(または文字)がない場合にのみドットに一致します。これは、要件に合わせて機能するはずです。それを次のように置き換えます0.
正規表現が機能しないのはなぜですか?まあ、それは言う
(?!\d) # Make sure the next letter isn't a digit
([+-]?) # Try to match a sign (which never is a digit, so why the lookahead?)
(?!\d) # Make sure the next letter isn't a digit (again)
(\.\d+) # Match a dot and digits (the dot also isn't a digit, so again
# the lookahead is not necessary)
したがって、最初の先読みを完全に削除することができ、2番目の先読みは、実行したいことを実行するために後読みである必要があります(つまり、ドットの前の文字が数字 ではないことを表明します)が、ECMAScriptは認識しません後読みなので、単語境界アンカーを使用する必要があります。