かなり複雑なクエリに基づいて文字列のコレクションをフィルタリングする必要があります-「生の」形式では、次のようになります。
nano* AND (regulat* OR *toxic* OR ((risk OR hazard) AND (exposure OR release)) )
照合する文字列の 1 つの例:
Workshop on the Second Regulatory Review on Nanomaterials, 30 January 2013, Brussels
したがって、AND OR とワイルドカード文字を使用して一致させる必要があります。そのため、JavaScript で正規表現を使用する必要があると思います。
すべてが正しくループし、フィルタリングされ、一般的に機能していますが、正規表現が間違っていると100%確信しています-一部の結果が間違って省略されています-ここにあります:
/(nano[a-zA-Z])?(regulat[a-zA-Z]|[a-zA-Z]toxic[a-zA-Z]|((risk|hazard)*(exposure|release)))/i
どんな助けでも大歓迎です-この構文を理解するために心を正しく抽象化することは本当にできません!
アップデート:
正規表現が構築される順序の重要性を指摘する人はほとんどいませんが、検索されるテキスト文字列を制御できないため、順序に関係なく機能するソリューションを見つける必要があります。
アップデート:
Twitter API 1.0 の非推奨のため、最終的には PHP ソリューションを使用しました。関数の例については、pastebin を参照してください (ここにコードを貼り付けた方がよいことはわかっていますが、たくさんあります...):
関数: http://pastebin.com/MpWSGtHK 使い方: http://pastebin.com/pP2AHEvk
助けてくれてありがとう