我使用了上面的错误 模式
"\b([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})\b"
(用于电子邮件检查)
每当搜索内容的长度超过17个字符时。
我尝试过使用boost 1.42和1.61并得到相同的结果。
该平台是带有g ++ 4.8.5的AIX 7
c ++测试程序非常简单:
boost::regex e({the above search pattern});
int match = boost::regex_search({my search content}, e);
请注意,同一程序不会出现例外情况 Windows(使用MSVC编译)
从其他SO问题来看,我知道有可能得到这个例外。 但我不知道这是否与平台有关。
我也试过使用一些在线正则表达式测试仪,没有问题 相同的搜索模式(即,如果搜索内容包含电子邮件,则在线 工具可以找到匹配)
我的问题是为什么同一个程序具有相同的搜索模式 在Windows上不会失败。