I don't think you need "g" (Global flag) for this.

Kenneth Kawamoto
http://www.materiaprima.co.uk/

Merrill, Jason wrote:
Wait, think I got it:

var re:RegExp = new RegExp(searchInput.text, "g,i");

var xmlListSearch:XMLList = testXML..*.( re["test"](
attribute("title")));

trace("result: "+xmlListSearch.toString());

seems to work for me.  Thanks eveyrone!

Jason Merrill Bank of America Enterprise Technology & Global Risk L&LD Instructional Technology & Media

Join the Bank of America Flash Platform Developer Community
Are you a Bank of America associate interested in innovative learning
ideas and technologies?
Check out our internal GT&O Innovative Learning Blog & subscribe.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Robert Leisle
Sent: Monday, July 21, 2008 3:54 PM
To: 'Flash Coders List'
Subject: RE: [Flashcoders] E4X filtering strange behaviour

Hi Jason,

This works for me:
var testXML:XML = <data>
                        <topics>
                                <topic title="Coldplays New Album" />
                                <topic title="The Dark Knight" />
<topic title="Arrested Development: The Movie" />
                        </topics>
                </data>;

var re:RegExp = new RegExp(searchInput.text, "g"); var xmlListSearch:XMLList = testXML.topics.topic.(re["test"](@title));
trace("result: "+xmlListSearch.toXMLString());

Hth,
Bob

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Merrill, Jason
Sent: Monday, July 21, 2008 12:27 PM
To: Flash Coders List
Subject: RE: [Flashcoders] E4X filtering strange behaviour

OK, so this is almost there, but not quite. If I do as Kenneth suggested (and this should be able to be reproduced),
var testXML:XML = <data>
                        <topics>
                                <topic title="Coldplays New Album" />
                                <topic title="The Dark Knight" />
<topic title="Arrested Development: The Movie" />
                        </topics>
                </data>;

var re:RegExp = new RegExp("^"+searchInput.text); var xmlListSearch:XMLList = testXML.topics.topic.(re["test"](@title));
trace("result: "+xmlListSearch.toXMLString());

(Assuming there is a TextInput text field on the stage and a function run when a button is clicked to run the regex search), if I enter the search term, "The", it only returns the second node containing "The Dark Knight", not the third topic node, which has a "The" in it's title attribute as well. If I put "Dark", it doesn't return anything. So it seems it's only searching nodes where the search term is the first item. How can I modify the regular expression above to find all nodes containing an element of the search term?
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to