我需要使用Boost:regex搜索来搜索带有空格的字符串,但它永远不匹配。
我需要从工作邮件中获取用户名(下面输入中的第二个匹配),但订单可以更改,因此我需要扫描整个字符串。
输入:
homemail:mail:username@mail.com workmail:mail:username@mail.com
正则表达式:
workmail: mail:\s*([^@>;]*)
在pcre中它可以正常工作:http://regex101.com/r/uD4pH7/1
在Boost中,我尝试了很多方法:
workmail: mail:\s*([^@>;]*)
workmail:\\smail:\s*([^@>;]*)
workmail:\\x20mail:\s*([^@>;]*)
\\Qworkmail: mail:\\E\s*([^@>;]*)
workmail:[[:space:]]mail:\s*([^@>;]*)
workmail:[[:s:]]mail:\s*([^@>;]*)
我的boost lib版本是在Debian 6系统中通过apt安装的1.42.0。 我正在使用boost :: regex_search函数。