匹配所有捕获组
在本练习中,您将使用名为 top_10 的文本文件,其中存储了电影名称及其名次。在这个多行文本中,使用 \\n 表示换行。您将使用 str_split() 函数把该文本拆分为多行。
新创建的单行矩阵 top_10_lines 随后会包含 10 行、且都遵循相同的模式:电影的名次,后跟一个点和一个空格,然后是电影标题本身。借助 str_match() 函数和两个捕获组 (),就可以把这两部分信息从纯文本中提取出来,并整理成表格形式。
本练习是课程的一部分
R 中级正则表达式
练习说明
- 使用
str_split()函数将文本拆分为多行,并通过启用simplify输出字符矩阵。 - 熟悉每一行的结构。它包含电影的名次和标题。
- 在
str_match()函数中使用捕获组来提取电影的名次和标题。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Split the input by line break and enable simplify
top_10_lines <- str_split(
top_10,
pattern = "___",
simplify = ___
)
# Inspect the first three lines and analyze their form
___[1:3]
# Add to the pattern two capturing groups that match rank and title
str_match(
top_10_lines,
pattern = "___\\. ___"
)