The first answer to
http://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-notexplains
the disconnect between regex and HTML better than I can.
Here is a function that still requires correctness -- any unmatched ( or )
will cause it to return E with the position of the offending character --
but this routine returns *all* matched parentheses.
function strictTotalMatching S,B,E
put 0 into C
repeat with i = 1 to length(S)
if char i of S is E then
subtract 1 from C
if C < 0 then return "E" && i
put M[C],i & cr after R
else if char i of S is B then
put i into M[C]
add 1 to C
end if
end repeat
if C <> 0 then return "E" && i
sort lines of R numeric by item 1 of each
return R
end strictTotalMatching
more sneezing coming up:
put stripHTML( url("http:://www.www.com"), lineDelim("/n" ),
cos(theta))
14,84
22,44
59,68
77,83
ljksaljk((((()))))ljkadsflj
9,18
10,17
11,16
12,15
13,14
erksdfkj(klwer(jklsdfljk)lkjsdflj)lsdjkfklsd
9,34
15,25
(()(()((()(()()((())()(())))))))(()((())))
1,32
2,3
4,31
5,6
7,30
8,29
9,10
11,28
12,13
14,15
16,27
17,20
18,19
21,22
23,26
24,25
33,42
34,35
36,41
37,40
38,39
aslkjsadflj(asldkjf(jklsdf)(sjlkdf)(ljksdf))lskjdf
12,44
20,27
28,35
36,43
asdlfkj(adfjlk)sf(()())sdf(()())()sdflkj
8,15
18,23
19,20
21,22
27,32
28,29
30,31
33,34
ljkewr(((()))
8,15
18,23
19,20
21,22
27,32
28,29
30,31
33,34
23l4jk)))))
8,15
18,23
19,20
21,22
27,32
28,29
30,31
33,34
(jlksdfjkl)))
8,15
18,23
19,20
21,22
27,32
28,29
30,31
33,34
lakjsdfljasdfljkasdf
asdlfkjasdlkjf(sjkldf(sjkldf(ljksdfjl)lkjsdf(sldkjf)sldjf)slkdjf
E 64
asdflkj)ksdf)ljksdf(skldf)
E 8
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode