我已将Boost库导入到我正在使用的.dll中。我试图使用:
解析一个字符串boost::wregex regPlayerAtSeat(L"*Governor: Seat.?[1-9].*");
但我得到的只是'互操作服务异常。我的正则表达式的语法是错误的吗?
谢谢,R。
答案 0 :(得分:1)
第一个*
似乎没有任何字符。在正则表达式中,它充当quantifier,而不是UNIX命令行中的通配符,依此类推。你可能想要.*
这样的东西,但这只是猜测。完整的正则表达式将如下所示:
boost::wregex regPlayerAtSeat(L".*Governor: Seat.?[1-9].*");
.*
将匹配零次或多次重复of (almost) any character(可能不是换行符,但我不知道boost正则表达式引擎的内部工作原理)。这就是你在字符串开头的意思吗?或者,由于您尚未锚定正则表达式,因此您可以使用:
boost::wregex regPlayerAtSeat(L"Governor: Seat.?[1-9]");
然而,这取决于你想要匹配的内容以及它的格式。