Here's a solution with a debug probe
rules: [
thru <div class="main">
(div-count: 1)
some [
"<div" (probe ++ div-count) skip
|
"</div>" mark: ( probe -- div-count if div-count = 0 [insert mark "closing main div"]) skip
| skip
]
]
parse/all content rules
, div- . div, .
, . [ -... ]
end-rule: [] ; or none
rules: [
thru <div class="main">
(div-count: 1)
some [
["<div" (++ div-count) skip]
|
["</div>"mark: (-- div-count if div-count = 0 [insert mark "closing main div" end-rule: [to end]]) end-rule ]
| skip
]
]