正则表达式提取子串(。)*

时间:2014-12-03 23:03:14

标签: c++ regex

我正在尝试与以下正则表达式匹配。

\d{11}(.*)

这是任何11位数后跟一个字符串。无论它是什么,我想提取拖尾字符串。

我使用了RE2 :: FullMatch但它给出了前半部分(11位数)。如何让子字符串与(.*)匹配?

string subStr
RE2::FullMatch("<sip:+19073381121@216.67.108.201:5060;user=phone>;npi=ISDN",(<sip:\+(\d{11}))(.*), &subStr);

我试图从上面的字符串中的@开始提取所有内容。基本上我想要匹配(。*),但上面的函数返回<sip:+19073381121

我对正则表达式不是很熟悉,但我查看了不同的API来提取子字符串并发现这个有用的

2 个答案:

答案 0 :(得分:1)

从正则表达式中删除额外的捕获组。

<sip:\+\d{11}(.*)

答案 1 :(得分:0)

要获得与(。*)匹配的子字符串,请使用$ 1。这是您使用括号指定的第一个捕获组。