使用boost :: regex匹配两个完整的单词

时间:2013-11-22 17:19:26

标签: c++ regex string search boost

这似乎是一个非常简单的问题,但无论我尝试什么,表达都无法读取名称。

这里的任务是匹配两个随机长度的字符串(某人的姓名),然后是单词后面的id号,格式为:Joe Blow 123-456-678

我正在使用boost :: regex_search。

到目前为止,我已尝试过这些表达方式而且还没有工作..

"\\w{15}? \\s? \\w{15}? \\s? \\d{3}-\\d{3}-\\d{3}"

"\\w* \\s \\w* \\s \\d{3}-\\d{3}-\\d{3}"

"\\w+ \\s \\w+ \\s \\d{3}-\\d{3}-\\d{3}"

我尝试了其他一些小的变化,但没有任何效果。这是第一次使用正则表达式,所以如果你们中的一些人是专业人士而且这很简单,那么请放轻松。

1 个答案:

答案 0 :(得分:4)

尝试使用

"^[a-zA-Z]+? [a-zA-Z]+? \\d{3}-\\d{3}-\\d{3}$"

并查看它是否有效