我有以下表格的数据:
Trifle
Beef gyoza with black vinegar dipping sauce
8 Comments
我想提取Trifle
和8 Comments
之间的界限。这里可以是任何数字。
答案 0 :(得分:2)
使用regmatches
regmatches(x, gregexpr("\\bTrifle\\b.*\\n+\\K.*(?=\\n+.*8 Comments\\b)", x, perl=TRUE))
一般情况。
regmatches(x, gregexpr("\\bTrifle\\b.*\\n+\\K.*(?=\\n+.*\\b\\d+\\h+Comments\\b)", x, perl=TRUE))
答案 1 :(得分:1)
另一种选择,使用trimws
和(?s)
正则表达式标志,其中包含点所涵盖的字符集中的换行符:
pat <- "(?s)^.*Trifle(.+)8 Comments.*$"
trimws(gsub(pat, '\\1', x, perl=TRUE))
# [1] "Beef gyoza with black vinegar dipping sauce"