是否有R函数根据条件返回正则表达式?

时间:2019-04-18 14:54:06

标签: r regex sequence

我正在尝试实现TEIRESIAS算法,正如Rigoutsos和Floratos在1997年所描述的那样。该算法的第一步是要找到遵循两个条件的重要模式。我认为使用正则表达式应该可以实现,但是我找不到适合我需要的函数,因此我需要一些帮助。

该算法使用3个输入参数:L,W和K。W表示要找到的图案的长度,L表示该长度内的位数必须是实际字符。 K表示图案应出现的最小次数。听起来似乎有些含糊,但通过示例可能会更清楚。

示例:

L = 3,W = 4,K = 3

S = {s 1 =“ SDFBASTS”,s 2 =“ LFCASTS”,s 3 =“ FDASTSNP”}

此输入应产生5个满足条件L,W和K的模式:

“ F.AS”,“ AST”,“ AS.S”,“ STS”,“ A.TS”

其中两个模式的长度仅为3,但是可以通过在前面或结尾添加“请勿打扰”字符来将其长度设置为4。

所以我要输入以下内容:

L <- 3
W <- 4
K <- 3

s1 <- "SDFBASTS"
s2 <- "LFCASTS"
s3 <- "FDASTSNP"

S <- c(s1, s2, s3)

生成模式P的集合:

> print(P)
[1] "F.AS" "AST"  "AS.S" "STS"  "A.TS"

0 个答案:

没有答案