混合分数的正则表达式验证 - Visual C++ 2012

Regex Validation for Mixed Fractions - Visual C++ 2012

本文关键字:Visual C++ 2012 验证 正则表达式 混合      更新时间:2023-10-16

我是RegEx的新手,在Visual Studio(C++)工作,需要检查输入是否是有效的混合分数。

到目前为止,我所拥有的适用于所有情况,除了我想确保分母不能为 0(例如 2 3/0)。

这是我目前正在使用的正则表达式:

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

我尝试过变体,但似乎无法找出有效的方法。 从本质上讲,我真的只需要它来检查只有分母的第一个数字不是 0 - 如果有人输入"2 3/01",它无法通过验证是可以的

感谢任何和所有的帮助

这应该适合你。

regex mixedFraction("(-?[0-9]*)\s([0-9]*)/([1-9][0-9]*)")

我对 C++ 或其正则表达式实现一无所知,因此语法可能会略有偏差:

d+sd+/[^0]

这将匹配分母不等于零的混合分数

我不使用那些愚蠢:digit:的东西yamabobs,所以d就足够了