假设我想创建一个匹配字符串的boost.regex表达式,例如
“重复:5 aaaaa” “重复:3 aaa”
有没有办法用提升来做到这一点?
答案 0 :(得分:0)
我没有特别使用boost :: regex,但你要求的正则表达式是直截了当的。通过boost :: regex文档,看起来你会做类似的事情:
boost::regex e("repetitions:\\s+\\d\\s+[a-zA-Z]+");
(双斜线使编译器不会吞下转义序列)
注意:
如果您还尝试验证第一个数字是否与字母'a'的数字匹配,那么仅使用正则表达式将无效。正则表达式只匹配字符,没有任何关于它们的含义的线索,所以'5'和'3'没有以任何数字方式看到。在Captures上查看他们的文档。您需要将数字作为字符串,lexical_cast
将其作为整数,并使用它来验证aaaaa
部分。