R正则表达式继续结束模式

时间:2017-03-27 15:03:13

标签: r regex

我试图在R中使用正则表达式从字符串中取出某些部分,但是它会消失太多,继续超出我的模式结束而我无法找出原因。

我的目标是取出一个字符串的一部分,该字符串以一个或多个标签或换行符开头,后跟某个单词,然后以一个或多个标签或换行符结尾:

以下是一个例子:

c <- "beginning of string\tmiddle of string\t=\t\tDelete this section =\n\t\t-\tWhy does this disappear\t\nEnd of string"

当我运行时:

gsub(paste0("[\n\t\r]+","delete",".*[\n\t\r]+"), "\n",c, ignore.case = TRUE, fixed = FALSE)

我最终得到了

"beginning of string\tmiddle of string\t=\nEnd of string"

但我想要

"beginning of string\tmiddle of string\t=\n-\tWhy does this disappear\t\nEnd of string"

1 个答案:

答案 0 :(得分:0)

默认情况下匹配是“贪婪的”。使用非贪婪量词

{{1}}

This intro可能有助于了解正在发生的事情。