我已经设法从字符串中提取所有以"N_"开头的值,但是我不能精确地提取那些具有一定范围的数字。是一个R数据帧,我有这样的东西
V1 N_words
(N_R33A, N_R35B, N_T44N, J_T7B) N_R33A, N_R35B, N_T44N
我期望的输出将具有所有N_
的特定范围。V1 N_words (range 30-35)
(N_R33A, N_R35B, N_T44N, J_T7B) N_R33A, N_R35B
我使用的代码是,但只是提取N_,我似乎不能选择一个范围,我也创建了一个新的列到我的x数据帧与提取的词:
x$N_words = str_extract_all(x$V1, "N_([A-Z]|[0-9])+")
一个选项是修改正则表达式:
x = "(N_R33A, N_R35B, N_T44N, J_T7B)"
str_extract_all(x, "N_[A-Z]3[0-5][A-Z]")
# [[1]]
# [1] "N_R33A" "N_R35B"
- 匹配
N_
- 后接大写字母(
[A-Z]
) - 接
3
- 后接0、1、2、3、4或5 (
[0-5]
)。 - 后接大写字母(
[A-Z]
)