【发布时间】:2013-05-29 01:09:25
【问题描述】:
我正在尝试编写一个正则表达式以在 PHP 中的 if 语句中使用,以检查一个字符串是否包含至少 1 个 +、-、* 或 / 以及至少 2 个数字。它们之间可以有任意数量的空格。
最好的方法是什么?
我尝试在下面编写一个正则表达式,但这似乎与我的测试用例不匹配。
我使用的正则表达式是:m/[0-9]{2,}[=-*/]+/
这里有一些可以通过的测试用例:
- 2+2
- 5*3
- 6 - 8
我的最终目标是用 PHP 构建一个计算器,现在我正在尝试确定哪些输入是有效的数学输入/有效的数学表达式,哪些不是。
【问题讨论】:
-
Lex 它而不是尝试 regexp hacks
-
我强烈建议改用strtok 之类的东西。