Str match()
str_match()
函数是 stringr
包中的一个函数,它的主要功能是从字符串中提取匹配正则表达式的子串。
str_match()
函数用于对字符串应用正则表达式,并返回一个矩阵,其中包含正则表达式的匹配以及任何捕获的子组。第一列总是完整的匹配,后续列是每个捕获组的匹配。
定义:¶
stringr::str_match(string, pattern)
参数介绍:¶
-
string
: 输入的字符向量。 -
pattern
: 一个用来匹配的正则表达式字符串。
举例:¶
library(stringr)
# 定义一个字符串向量
strings <- c("123 ABC", "456 DE", "789 HIJ")
# 匹配数字和随后的空格,然后是大写字母
pattern <- "(\\d+) ([A-Z]+)"
# 使用str_match()查找匹配
matches <- str_match(strings, pattern)
print(matches)
输出:¶
执行上述代码会输出一个矩阵,其中包含匹配的结果。例如,对于这个例子,输出可能如下:
[,1] [,2] [,3]
[1,] "123 ABC" "123" "ABC"
[2,] "456 DE" "456" "DE"
[3,] "789 HIJ" "789" "HIJ"
解释输出:
- 第一列 ([,1]
) 表示整个匹配的字符串。
- 第二列 ([,2]
) 表示正则表达式中第一个捕获组的匹配,即数字部分。
- 第三列 ([,3]
) 表示第二个捕获组的匹配,即大写字母部分。
注意,如果 pattern
没有捕获组,那么 str_match()
返回的矩阵只有一列,包含完整匹配的部分。如果没有找到匹配,对应行的元素将会是 NA
。