2

我有一个具有以下文本格式的文件:

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”字符以及数字。有任何想法吗?

4

2 回答 2

3

\b\d+\b 包括单词边界。这将忽略当前正则表达式中匹配的制表符或空格。

http://regexr.com?32a07

或者,如果您想与选项卡匹配,请使用断言,它们将匹配选项卡,但不捕获它们:

(?<=\t)\d+(?=\t)
于 2012-09-28T04:29:07.283 回答
0

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

于 2012-09-28T04:22:38.383 回答