正規表現-?\d+ [+|-|*|/] -?\d+
は、式1 + 3
と問題なく一致します。1 + -2
は問題ありませんが、一致しない理由はわかりません。1 - 2
。 -
charと正しく一致しない理由を説明できますか?私が達成したかった私の正規表現によって算術式の正規表現
:
オプション- - 数字
- 空白の先頭
- 文字列で、その後、オプション
- その後、空白オペレータ - 二stringof桁
正規表現-?\d+ [+|-|*|/] -?\d+
は、式1 + 3
と問題なく一致します。1 + -2
は問題ありませんが、一致しない理由はわかりません。1 - 2
。 -
charと正しく一致しない理由を説明できますか?私が達成したかった私の正規表現によって算術式の正規表現
:
オプション-
は、文字クラスの途中でエスケープされているため、範囲が作成されます。エスケープしたり、文字クラスの先頭または末尾に移動することができます。あなたはまた、私が推測するだろう|
を必要としません。
|
と|
の間の範囲は現在実際には意味をなさないものです。また、文字クラスの代わりにグループ化を使うこともできます。彼らは文字クラス外の数量があるため、このアプローチで
(\+|-|\*|/)
+
と*
必要
あなたのおかげで、私はそれを動作させることができました、ありがとう。 – Yoda
あなたの答えはあなたが+1に値する私の答えよりもはっきりしていると思います –
' - 'をエスケープしますか? – t0mm13b