这是一个非常简单的问题。我只需要使用正则表达式中的正向后查找来捕获一些字符串,但是我不知道如何实现。
以下是一个例子,假设我有一些字符串:
library(stringr)
myStrings <- c("MFG: acme", "something else", "MFG: initech")
我想提取以"MFG:"为前缀的单词。
> result_1 <- str_extract(myStrings,"MFG\\s*:\\s*\\w+")
>
> result_1
[1] "MFG: acme" NA "MFG: initech"
这几乎完成了,但我不想包含"MFG:"部分,这就是"positive lookbehind"的作用:
> result_2 <- str_extract(myStrings,"(?<=MFG\\s*:\\s*)\\w+")
Error in stri_extract_first_regex(string, pattern, opts_regex = attr(pattern, :
Look-Behind pattern matches must have a bounded maximum length. (U_REGEX_LOOK_BEHIND_LIMIT)
>
它抱怨需要一个“有界最大长度”,但我不知道在哪里指定。如何让正向先行断言起作用?确切地说,在哪里可以指定这个“有界最大长度”?