我希望以下代码能够识别所有模式(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