0

私は RegEx を初めて使用し、Visual Studio (C++) で作業しており、入力が有効な混合分数であるかどうかを確認する必要があります。

これまでのところ、分母が 0 にならないようにすることを除いて、すべてのケースで機能します (例: 2 3/0 )。

現在使用している正規表現は次のとおりです。

regex mixedFraction("(-?[[:digit:]]+)[\\s]([[:digit:]]+)[/]([[:digit:]]+)")

バリエーションを試してみましたが、うまくいくものを見つけられないようです。本質的には、分母の最初の桁だけが 0 でないことを確認するだけで十分です。誰かが「2 3/01」と入力した場合、検証に失敗しても問題ありません。

助けてくれてありがとう

4

2 に答える 2

1

これはうまくいくはずです。

regex mixedFraction("(-?[0-9]*)\\s([0-9]*)/([1-9][0-9]*)")
于 2013-10-12T02:30:24.720 に答える