According to http://www.rebol.com/docs/core23/rebolcore-15.html
You can use change/part to parse and replace but that doesn’t work well with this where I just try to replace the block
<mytag > ... </mytag>
by “MyString”
content: {<mytag id="a" 111111111111111>
</mytag>
aaaaaaaaaaaaaaa
aaaaaaaaaaaaaaa
<mytag id="b" 22222222222222222>
</mytag>
<mytag id="c" 3333333333333>
</mytag>
aaaaaaaaaaaaaaa
aaaaaaaaaaaaaaa
<mytag id="d" 444444444444444>
</mytag>
}
mytag: [ to {<mytag} start: (
)
thru {<mytag}
to {id="} thru {id="} copy ID to {"} thru {"}
to {</mytag>}
thru {</mytag>}
ending:
(change/part start "mystring" ending)
mark:
( write clipboard:// mark
input)
]
rule: [any mytag to end]
parse content rule
Ladislav’s suggestion is to solve it without changing the input stream, which can have performance issues and is harder to debug. Just build up your output separately. e.g.