2

str_extract_allパッケージを使用してRのテキストから値を抽出しようとしていstringrます.perlの正規表現から一致しないグループを使用して(?:...)、関連する値を1行で抽出して消去したいと考えています。

このコードを実行すると:

library(stringr)

## Example string.
## Not the real string, but I get the same results with this one.
x <- 'WIDTH 4\nsome text that should not be matched.\n\nWIDTH   46 some text.'

## extract values
str_extract_all(x, perl('(?:WIDTH\\s+)[0-9]+'))

私はこの結果を得たい:

[[1]]
[1] "4"    "46"

しかし、私はこれを取得します:

[[1]]
[1] "WIDTH 4"    "WIDTH   46"

私は何を間違っていますか?

4

2 に答える 2