0

指数値が含まれていないことを確認するために 10 進数を照合するのに適した正規表現は何ですか?

助けてくれてありがとう。

「e-」、「e+」、「E-」、または「E+」が含まれている場合を除いて、何かに一致するようなことを言うことはできますか?

4

3 に答える 3

1

これは最短の解決策ではありませんが、整数の正しさを確認してください...

if( $num =~ /^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/ ) {
    #correct floating point
    if( $num =~ /e/i ) {
        #exponential
    } else {
        #not exponential
    }
}
于 2011-05-10T21:26:07.533 に答える
0

あなたが何を探しているのかは私には完全にはわかりませんが、CPAN から入手できるRegexp::Commonモジュール、具体的には を参照してRegexp::Common::numberください。それはあなたが求めているものを提供するかもしれません。

于 2011-05-10T21:36:49.440 に答える
0

それはコストフィールドであり、通貨記号、括弧、およびそのような他の文字を含めることができます

詳細な仕様がなければ、正規表現を使用した簡単な作業ではありません。私の意見では、入力の形式についてほとんど知らない場合、正規表現は不適切です。


OPの編集後に更新:

「e-」、「e+」、「E-」、または「E+」が含まれている場合を除いて、何かに一致するようなことを言うことはできますか?

それは例えば^(?!.*[eE][+-]).*$(否定的な先読みを使用して) ですが、おそらくあなたが望む以上に一致するでしょう…</p>

于 2011-05-10T21:47:05.807 に答える