質問
私は、XMLファイル内のワイルドカードをベースパタパタのリストを持っています。入力文字列がXMLドキュメント内のパターン存在と一致する場合、特定のアクションが取られることになる。
私はここに述べたアプローチを見つけた http://www.codeproject.com/ KB /レシピ/ wildcardtoregex.aspx のが、その場合には、私は避けるようにしようとしているXMLのすべてのエントリのために正規表現オブジェクトを作成する必要があります。
.NETでのワイルドカード検索を行うに任意のより良い方法がある私に教えてください。
解決
、あなたが言及のように、各パターンのための正規表現を作成する必要があります。近道はありません。
私はあなたもパフォーマンスを心配思います。あなたはそれが問題だと確信していますか?もしそうなら、あなたは完全に異なるアプローチを見つけることを試みる必要があります。
あなたは多くの入力文字列にマッチするつもりですか?その場合、あなたはむしろそれらを毎回作成するよりも(リストで、言う)あなたの正規表現を維持する必要があります。正規表現を再利用することができます。
そうでなければ、私はあなたの提案アプローチには大きな問題を見ることができます。
他のヒント
これは、私の就寝時の過去の方法ですので、私はこの答えに風変わりに聞こえるかもしれます。
あなたはパターンのリストに対して、入力文字列に一致している:あなたが物事が間違った方向に設定しているように私には思えます。論理的に、あなたは、入力文字列に対して、リスト内の各パターンに一致し、一致を決定する必要があります。 XMLファイルを解析することにより、正規表現パターンの配列を構築することは非常に簡単です。そして、あなたは、配列を反復処理して、入力文字列に対して各正規表現と一致することができます。
また、なぜあなたはすべてのワイルドカードが必要なのでしょうか?ワイルドカードは、正規表現の一部とみなすことができるので、あなたはすでに正規表現オブジェクト内にカプセル化されたワイルドカードマッチングのすべての機能を持っています。
入力/ワイルドカードの種類に関する詳細データは、あなたの質問を理解するために役立つことを証明する、と述べたこと。