在Rebol/Red parse: how to copy between 2 marks之后,让我们假设我实现了用带有嵌套div的复杂解析规则的某些标记来标记一个字符串(无论该规则是什么),是否有一般方法在mark1和mark2之间进行复制,至少这种嵌套的div示例是否有特定的方法:
{
<div>
a ; <- mark1
<div>
b
</div>
<div>
c
</div>
d ; <- mark2
</div>
<div>
e
<div>
f
</div>
<div>
g
</div>
h
</div>
}
rule: [
mark1:
...
mark2:
copy mark1 to mark2
]
答案 0 :(得分:1)
这已经显示的解决方案没有问题,但是如果你想让它变得更复杂一点,你可以回到src中已定义/标记的点,如本例所示。
src: {1234567890abcdefghijklmnopqrstuvxyz}
>> parse src [ skip mark: to "a" mark2: :mark to "3" mark1: to end]
== true
>> mark1
== "34567890abcdefghijklmnopqrstuvxyz"
注意 :mark
它将指针设置回先前定义的点。
所以你前一个问题的答案看起来就像那样
rule: [
to "b" mark1: thru "e" mark2:
:mark1 copy text to mark2
]
根据您的意愿,将“b”和“e”替换为“a”和“d”。