我正在尝试使用stringr包中的str_extract()
来使用模式"(\\[){1}(.*)(\\]){1}"
从方括号中提取文本。当括号组之间的文本用新行(即\n
)分隔时,这可以正常工作。否则,我得到的文本块跨越多个括号。
所以当:
my_text <- "[Sed ut perspiciatis] [unde omnis iste natus] error sit architecto beatae vitae dicta sunt explicabo. \n [Nemo] sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. [consectetur], adipisci tempora incidunt ut \n [labore] et dolore magnam aliquam quaerat voluptatem. Ut consequatur, vel illum qui dolorem eum fugiat quo \n [voluptas nulla] pariatur?"
str_extract_all(my_text, "(\\[){1}(.*)(\\]){1}")
我明白了:
[[1]]
[1] "[Sed ut perspiciatis] [unde omnis iste natus]"
[2] "[Nemo] sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. [consectetur]"
[3] "[labore]"
[4] "[voluptas nulla]"
虽然我想获得:
[[1]]
[1] "[Sed ut perspiciatis] "
[2] "[unde omnis iste natus]"
[3] "[Nemo]"
[4] "[consectetur]"
[5] "[labore]"
[6] "[voluptas nulla]"
我将如何做到这一点?