匹配重复
好,现在在本练习中,您的模式将更强大。您已经知道如何用重复来精确匹配所需数量的数字或字母。
通过在花括号 {} 中使用数字,您可以指定要查找的出现次数。只有一个数字(例如 {2})时,将匹配恰好该次数的重复。带有一个数字和一个逗号时,该数字表示最小值:{2,}(至少重复 2 次)。第二个数字表示最大值,因此 {2,4} 表示重复 2 到 4 次。
加号 + 和星号 * 是更快捷的重复表示法:前者匹配 1 次或多次,后者匹配 0 次、1 次或多次。这两个符号常与句点 . 组合,用于匹配未知数量的任意字符。
本练习是课程的一部分
R 中级正则表达式
练习说明
- 找出所有包含 2 位或以上数字的标题。
- 通过在字符串开头搜索一个或多个单词字符,匹配每个标题的第一个单词。
- 匹配单词
"Knight"以及它之前出现的所有内容。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# This lists all movies with two or more digits in a row
movie_titles[str_detect(
movie_titles,
pattern = "\\d{2,}"
)]
# List just the first words of every movie title
str_match(movie_titles, pattern = "___")
# Match everything that comes before "Knight"
str_match(movie_titles, pattern = "___Knight")