2012-09-28 28 views
2

我有以下文本格式的文件:简单的regex - (集团用C匹配++)

Blah blah Blahhh<TAB SPACE -(/t character)>1234<TAB SPACE -(/t character)>some other crap blah 

文本可能看起来像:

Saturday Evening 1234 Beautiful 

我现在用的是<regex>库,并我想使用捕获组来捕获“1234”。

我想:

"\\t(\\d+)\\t" 

但是,当我打印结果,它显示了“\ t”的字符与数字一起。有任何想法吗?

+0

测试regexe在线:HTTP://www.regexplanet。 COM /高级/ JAVA/index.html的 – SChepurin

回答

3

\b\d+\b包含单词边界。这将忽略在当前正则表达式中匹配的选项卡或空格。

http://regexr.com?32a07

或者,如果你想匹配的标签,使用断言,他们将匹配的标签,但没有捕捉它们:

(?<=\t)\d+(?=\t) 
0

一些细节会很有用,比如你用来执行搜索和提取结果的代码,但我的猜测是你正在查看错误的match_result索引:你应该查看元素1.请参阅match_results 'operator[]