R:“perl”正则表达式与'postive lookbehnd'一起使用时无法识别模式

时间:2018-03-24 03:40:28

标签: r regex pcre

我希望以下代码能够识别所有模式(pat1,pat2,pat3,pat4)。但是,这只能识别'pat4'。我该如何修改我的代码?

test.pat<-"pat1|pat2|pat3|((?<=abcd)(.|\n)*pat4)"

originalTXT<-"start abcd pat1 pat2 pat3 pat4"

gregexpr(test.pat, originalTXT, perl=TRUE)

[[1]]

[1] 11

attr(,"match.length")

[1] 20

attr(,"useBytes")

[1] TRUE

attr(,"capture.start")

[1,] 11 26

attr(,"capture.length")

[1,] 20 1

attr(,"capture.names")

[1] "" ""

如果我省略使用“正面观察”的“pat4”,那就没问题了。

test.pat<-"pat1|pat2|pat3" 

originalTXT<-"start abcd pat1 pat2 pat3 pat4"

gregexpr(test.pat, originalTXT, perl=TRUE)

[[1]]

[1] 12 17 22

attr(,"match.length")

[1] 4 4 4

attr(,"useBytes")

[1] TRUE

0 个答案:

没有答案