regex - How are these angled brackets breaking my regular expression? -
i'm trying capture contents of bespoke html-style tag within data.
then i'd replace contents , surrounding tag placeholder.
i'm using objmatch.value , objmatch.submatches(0) access "contents + tag" , "contents only" respectively. however, angled brackets of tag appear causing both of these return contents.
this breaks:
"<mytag\b[^>]*>(.*?)</mytag>"  both objmatch.value , objmatch.submatches(0) return contents only.
this works:
...but if change angled brackets dollar signs, this:
"$mytag\b[^$]*$(.*?)$/mytag$"   objmatch.value returns "contents + tag", , objmatch.submatches(0) returns "contents only". expected , desired.
can explain why is, , / or how can change regex pattern solve it?
full code
    dim oregex     set oregex = new regexp     oregex.ignorecase = true     oregex.global = true     oregex.pattern = "<mytag\b[^>]*>(.*?)</mytag>"        dim matches()     dim replacements()     dim i: = 0     dim objmatch      each objmatch in oregex.execute(stringtotest)        redim preserve matches(i)        redim preserve replacements(i)        replacements(i) = objmatch.value        matches(i) = objmatch.submatches(0)        = (i + 1)     next  
 
  
Comments
Post a Comment