Hi Claudia,
Claudia Barnal wrote:
> Hi there,
>
> I have a string that needs to have some portions extracted through
> regexp and add them to an array.
>
> the string is something like this:
>
> "<fruits><banana /><orange /></fruits> <vehicles><suv /><pickup
> /><vehicles> <fruits><apple /><banana /></fruits>"
>
> So the regexp should return all that's between all <fruits> and
> </fruits> in this case, it should be something like this:
> "<banana /><orange /><apple /><banana />"
>
> then using
> myArray = myString.split(myRegexp);
>
> I would get an array that looks like this
> ["<banana /><orange />", "<apple /><banana />"]
>
> I've tried this regexp: "<fruits>.*?</fruits>" but it's not really
> working, as it gives me whatever is outside the fruit nodes.
>
> Any pointers?
>
private function init():void{
var s:String = "<fruits><banana /><orange /></fruits>"+
"<vehicles><suv /><pickup/><vehicles> <fruits>"+
"<apple /><banana/></fruits>";
var r:RegExp = /<fruits>([\w\s><\\\/]*?)<\/fruits>/gi;
var result:Array;
do {
result = r.exec(s);
if (result!=null)
trace(result[1]);
}while(result!=null);
}
HTH.
cheers,
- shaun