作者wanwan2 (高桥旺)
看板RegExp
标题[问题] 评估运算式的regex
时间Tue May 5 15:30:18 2009
我的程式要让使用者输入类似Excel的Formula
ex: 123 + 1000
(value + 2) * 100
我打算先用regex将运算元、运算子拆出来
这是我用网站上的测试工具测试的结果,测试结果是ok的
http://www.badongo.com/pic/5881906?size=original
可是当我套用到C++时就出错了
底下是我的程式码,regex_match 传回值都是false
PS. 我用的VS 2008 sp1 的regex
std::string infix = "123+1000";
const std::tr1::regex pattern("([0-9a-zA-Z.]+|[+\\-*/])");
std::tr1::smatch result;
if (std::tr1::regex_match(infix, result, pattern)) // fail
{
std::tr1::smatch::const_iterator it = result.begin() + 1;
while (it != result.end())
{
ParseOp(*it);
++it;
}
}
请问一下是什麽地方出错了吗??? orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.205.174
1F:推 Sdany:注意看你的pattern +\\-*/ 多了一个 \ 06/24 12:35