我想解析一个字符串以查找在一(character, n)
组中找到的前 N 个重复字符。
例如,for "ozzllluu"
and sets ("u" => 2), ("d" => 2), ("l" => 3), and ("r" => 3)... 我想找到“lll”,因为它是 3 个字符并且发生在两个“u”之前。
程序风格解决方案:
Rebol []
seq-set: [#"u" 2 #"d" 2 #"l" 3 #"r" 3]
str: "ozzllluu"
lastchar: ""
cnt: 1
seq-char: ""
foreach char str [
either char = lastchar [
cnt: cnt + 1
if (select seq-set char) = cnt [
seq-char: char
break
]
][
cnt: 1
]
lastchar: char
]
either seq-char = "" [
print "no seq-char"
][
print join "seq-char " seq-char
]
我将如何使用规则做同样的事情parse
?
简而言之:
parse
在 (character ,n) 集中找到的第一个 n 个重复字符的字符串- “function”现有的程序代码
- dogfood 变成了 Rebol/Red!