Tutorial :RegExp in ActionScript 3: How to exclude a complex prefix?


AS3 RegExp engine (and ECMAScript based JavaScript) do not support complex "lookbehind" expressions. (lookahead expressions are fully supported.)

For example:


will work but;


will not work in AS3.

What I need is to match a complex prefix but exclude it in the final match. In the example above; I'm trying to get the body contents in an HTML text but NOT the opening and closing body tags. And the actual test text looks like this:

<body bgcolor="#EEEEEE">  Some content here...  </body>  


I think you want var regExp:RegExp = /<body>(.*?)<\/body>/i; as opposed to the 3 groups in your current regexp, so you're only capturing the body tag, you can then reference the match with either \1 or $1 depending on which function you're using:



This is coming from my JavaScript RegExp experience, but it should be relatively similar...

I don't think you need look-behind, you just need non-capturing groups. They still match input, but they aren't captured by the match:


When you do the match, the returned matches will only include the contents (but not the body opening/closing tags).


Thanks to quoo; the problem is solved in no time..

var re:RegExp = new RegExp(/(<body\b[^>]*>)(.*?)(<\/body>)/gis); }  return strHTML.replace(re, "$2");  

This returns only the content without the body tags. No need to worry about lookbehinds and/or lookaheads..

Thanks to you all..

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »