C ++ boost.regex字符串中指定的重复次数

时间:2012-09-03 17:11:53

标签: c++ regex boost-regex

假设我想创建一个匹配字符串的boost.regex表达式,例如

“重复:5 aaaaa” “重复:3 aaa”

有没有办法用提升来做到这一点?

1 个答案:

答案 0 :(得分:0)

我没有特别使用boost :: regex,但你要求的正则表达式是直截了当的。通过boost :: regex文档,看起来你会做类似的事情:

boost::regex e("repetitions:\\s+\\d\\s+[a-zA-Z]+");

(双斜线使编译器不会吞下转义序列)

注意: 如果您还尝试验证第一个数字是否与字母'a'的数字匹配,那么仅使用正则表达式将无效。正则表达式只匹配字符,没有任何关于它们的含义的线索,所以'5'和'3'没有以任何数字方式看到。在Captures上查看他们的文档。您需要将数字作为字符串,lexical_cast将其作为整数,并使用它来验证aaaaa部分。