我刚刚开始使用boost C++库来完成解析器的工作。我想在以下方面提供一些帮助:
char_("0-9a-fA-F"),它只匹配一个十六进制数字。我也尝试过使用:*char_("0-9a-fA-F"),但它也不起作用aBCd_Efgh发布于 2014-04-28 20:32:07
实际上,由于char_来自boost::spirit::qi,所以只需使用整数解析器:
这很容易用于解析十六进制:
qi::int_parser<unsigned char, 16, 2, 2> hex_byte;将连续准确匹配和解析两个十六进制数字。
发布于 2014-04-28 19:32:43
如果您使用的是PCRE,即像boost::regex e1(my_expression)或boost::regex e2(my_expression, boost::regex::perl)一样初始化正则表达式,那么:
{min,max})指定一个量词,这样a{3,10}就可以匹配3到10个a字符。您可以将其应用于一个组,比如[0-9a-fA-F]{1,2}。[0-9a-zA-Z_]+如果您使用的是POSIX,区别是:
\{min,max\}https://stackoverflow.com/questions/23347233
复制相似问题