gpt4 book ai didi

regex - str_extract 特定模式(示例)

转载 作者:行者123 更新时间:2023-12-05 00:23:57 25 4
gpt4 key购买 nike

我仍然对正则表达式语法有些困惑。你能帮我解决这些模式吗:

_A00_A1234B_
_A00_A12345B_
_A1_A12345_

到目前为止我的方法:
vapply(strsplit(files, "[_.]"), function(files) files[nchar(files) == 7][1], character(1))

或者
str_extract(str2, "[A-Z][0-9]{5}[A-Z]")

预期的输出是
A1234B
A12345B
A12345

谢谢!

最佳答案

你可以试试

library(stringr)
str_extract(str2, "[A-Z][0-9]{4,5}[A-Z]?")
#[1] "A1234B" "A12345B" "A12345"

在这里,模式寻找一个大写字母 [A-Z] ,其次是 4或 5 位数字 [0-9]{4,5} ,后跟大写字母 [A-Z] ?
或者您可以使用 stringi哪个会更快
library(stringi)
stri_extract(str2, regex="[A-Z][0-9]{4,5}[A-Z]?")
#[1] "A1234B" "A12345B" "A12345"

base R选项是
 regmatches(str2,regexpr('[A-Z][0-9]{4,5}[A-Z]?', str2))
#[1] "A1234B" "A12345B" "A12345"

数据
str2 <- c('_A00_A1234B_', '_A00_A12345B_', '_A1_A12345_')

关于regex - str_extract 特定模式(示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com