开始使用免费开始使用

让高级模式更易读

很好,您已经掌握了用管道符 | 作为分隔符合并名称列表来创建匹配模式。但「合并」同样适用于把模式拆成小而易懂的部分再拼接起来。只用一个向量(可带名称或不带名称都可以)作为输入,配合 glue_collapse(),您就能把小片段组合成很长且复杂的模式,同时保持更易于理解。

变量 users 已从我们的数据库导出,并再次在全局作用域中可用。但在本练习中,我们不仅关心用户名,还关心其后的数字以及电子邮件地址。

本练习是课程的一部分

R 中级正则表达式

查看课程

练习说明

  • 请再次查看 users 的内容。
  • 在需要用户名的地方,写一个匹配「一个或多个英文字母」的模式。使用方括号 [] 创建这个自定义模式。
  • 在需要该用户登录次数的地方,写一个匹配「一个或多个数字」的模式。为此请使用数字字符类。
  • 由于每行最后是电子邮件,请写一个匹配「一个或多个任意字符」的简单模式。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Familiarize yourself with users by printing its contents
print(___)

advanced_pattern <- glue_collapse(c(
  # Match one or more alphabetical letters
  "username" = "^___",
  ": ",
  # Match one or more digit
  "logins" = "___",
  ", ",
  # Match one or more arbitrary characters
  "email" = "___$"
))

str_view(users, advanced_pattern)
编辑并运行代码