跳转至

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