のは、私はそうのようなテキストの段落があるとしましょう:テキスト解析デザインは
カタツムリ 水路、砂漠、そして深海 深さを含めた環境の非常に広い 範囲でを見つけることができます海のカタツムリの多くの種類が も新鮮な海で見つかったすることができます。 (source)
テキストを一致させるための1万の正規表現ルールが重複しています。たとえば、正規表現/Snails? can/i
には、2つの一致が見付かります(テキストのイタリック体)。正規表現/can(also)? be/i
には2つの一致(太字)があります。
私の正規表現を反復処理し、マッチを見つけた後、テキスト内のいくつかの場所を考えると、それはそれをmachedすべての正規表現を返すこと、使用するのに最適なデータ構造は何ですか?たとえば、行1、文字8(0から始まる、a
、can
)の一致が必要な場合は、前述の両方の正規表現に一致します。
私はハッシュマップを作成することができます(キー:文字の場所、値:すべての一致する正規表現のセット)。これは最適ですか?何千もの正規表現を使ってテキストを解析するより良い方法がありますか?
ありがとうございます!
あなたはこれのより一般的な使用についてコメントできますか?保存したいデータをどのように活用しますか? – Mikhail
ユーザーは、一致する正規表現で強調表示された解析済みのテキストを表示します。ユーザーが文字の上を移動すると、一致する正規表現が表示されます。 – ash