私のプロジェクトで正規表現を学習しようとしています。入力検証には正規表現の使用が最良の方法の1つだと言われています。空白で区切られた複数の座標に一致するRegexの式
文字列にスペースで区切られた未知数の座標が含まれていることを確認しようとしています。入力がどのように表示されるかの例は、2,2 23.45,6 45,21.65 2,2
です。問題があるかどうかはわかりませんが、最後の座標は常に最初の座標と一致します。シンボルや余分なスペースやコンマは使用できません。コンマで区切られた10進数のみ、スペースまたはエンドライン文字が続きます。
これはおそらくかなり複雑な表現であることを認識しています。私は正規表現のブラインドにかなりジャンプしていますので、これに関する助けがあれば本当に感謝しています。私はC++でプログラミングしています。ありがとう。
EDIT:
私は負の数と改行文字の可能性について忘れていました。私はまた、入力に負の数と改行文字を受け入れます。 したがって入力-2.3,2 34,-2 -2.3,2\n
が受け入れられます。これまでの皆さん、ありがとうございました。
数字を区切るスペースとカンマがあるようです。 –
@TimBiegeleisen技術的に順序付けられたペアです。ですから、コンマで区切られた2つの数字が必要です。そして、順序付けられたペアが1つ以上ある場合、それらはスペースで区切られます。 – rph020798
負数、指数表記はどうですか?あなたは、構文が何であるかを記述するために、ほとんどあなた自身で式を書く必要があります。 "+ 4.3、 - "です。有効なコンポーネントですか? –