以下を受け付ける入力用のパターンを作成しようとしていますが、正規表現ではあまりよくありません。誰かが次の値のための正規表現を作るのを助けることができますか? 「ユニバーサル正規表現」(すべての言語のすべての実装)から小数点を含む正規表現
1
.25
0.25
以下を受け付ける入力用のパターンを作成しようとしていますが、正規表現ではあまりよくありません。誰かが次の値のための正規表現を作るのを助けることができますか? 「ユニバーサル正規表現」(すべての言語のすべての実装)から小数点を含む正規表現
1
.25
0.25
上の正規表現のデレク・バナスビデオチュートリアルをチェックアウトすることができます
^(\.\d+|\d+(?:\.\d+)?)$
|
は以上です。 ^
が文字列の先頭です。 $
が終了です。 \.
は、リテラル.
です。 \d
は数字です。 +
は、前の文字/グループの1つ以上を意味する量子です。 ?
は、以前のグループ/文字をオプションにします。
したがって\.\d+
は、.
で、任意の数の数字です。その後、\d+(?:\.\d+)?
には、任意の小数点以下の数値が続きます。
正規表現のデモ:https://regex101.com/r/uG2tT4/1
m
および/またはg
修飾子はこれを使用している場所に応じて必要になる場合があります。 \d
も数字文字クラス[0-9]
に変換する必要があります。
、 \d*\.\d*
これを使用しても安全だろう単に
\d* = Match for 0 or more digits at the beginning
\. = After that match for a period (notice that we escaped the period.
Not escaping the period has a different meaning altogether.)
\d* = Match for another set of one or more digits
に分解される。これは、簡素化しようとします正規表現は最も効率的ではないかもしれませんが、特に大きなセットの場合は
regulに関するチュートリアルAR表現、私はRegularExpressions.info
を提案したり、あなたのために働くだろうする式での私の推測では次のようになりYouTubeの
@anubhava:2番目の例では機能しません。 – Jan
@ chris85:ミリ秒単位でビートしてください:) – Jan
@Jan yeee haw、http://nerdist.com/wp-content/uploads/2015/12/Speedy-Gonzales.jpg – chris85