gpt4 book ai didi

regex - 使用正则表达式检测序列

转载 作者:行者123 更新时间:2023-12-02 06:55:17 24 4
gpt4 key购买 nike

假设我在这样的列表中有多个字符串:

[[1]]
[1] "1-FA-1-I2-1-I2-1-I2-1-EX-1-I2-1-I3-1-FA-1-"
[2] "-1-I2-1-TR-1-"
[3] "-1-I2-1-FA-1-I3-1-"
[4] "-1-FA-1-FA-1-NR-1-I3-1-I2-1-TR-1-"
[5] "-1-I2-1-"
[6] "-1-I2-1-FA-1-I2-1-"
[7] "-1-I3-1-FA-1-QU-1-"
[8] "-1-I2-1-I2-1-I2-1-NR-1-I2-1-I2-1-NR-1-"
[9] "-1-I2-1-"
[10] "-1-NR-1-I3-1-QU-1-I2-1-I3-1-QU-1-NR-1-I2-1-"
[11] "-1-NR-1-QU-1-QU-1-I2-1-"

我想使用正则表达式来检测某个子字符串在另一个子字符串之前的特定字符串,但不一定直接在另一个子字符串之前。

例如,假设我们正在寻找 EX 之前的 FA。这需要匹配列表中的 1。即使 FAEX 之间有 -1-I2-1-I2-1-I2-1-FA 仍然出现在 EX 之前,因此需要匹配。

如何定义一个通用正则表达式来识别某些子字符串以这种方式出现在另一个子字符串之前的字符串?

最佳答案

你可以使用 grep。

x <- c("1-FA-1-I2-1-I2-1-I2-1-EX-1-I2-1-I3-1-FA-1-" ,"-1-I2-1-TR-1-")
grepl("FA.*EX", x)
#[1] TRUE FALSE
grep("FA.*EX", x)
#[1] 1

关于regex - 使用正则表达式检测序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32696665/

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