I need to filter a collection of strings based on a rather complex query - in it's raw form it looks like this:
nano* AND (regulat* OR *toxic* OR ((risk OR hazard) AND (exposure OR release)) )
An example of one of the strings to match against:
Workshop on the Second Regulatory Review on Nanomaterials, 30 January 2013, Brussels
So, I need to match using AND OR and wildcard characters - so, I presume I'll need to use a regex in JavaScript.
I have it all looping correctly, filtering and generally working, but I'm 100% sure my regex is wrong - and some results are being omitted wrongly - here it is:
/(nano[a-zA-Z])?(regulat[a-zA-Z]|[a-zA-Z]toxic[a-zA-Z]|((risk|hazard)*(exposure|release)))/i
Any help would be greatly appreciated - I really can't abstract my mind correctly to understand this syntax!
UPDATE:
Few people are point out the importance of the order in which the regex is constructed, however I have no control over the text strings that will be searched, so I need to find a solution that can work regardless of the order or either.
UPDATE:
Eventually used a PHP solution, due to deprecation of twitter API 1.0, see pastebin for example function ( I know it's better to paste code here, but there's a lot... ):
function: http://pastebin.com/MpWSGtHK
usage: http://pastebin.com/pP2AHEvk
Thanks for all help