(57)【要約】【課題】検索条件の修正や調整が効率的にできる構成を得る。【解決手段】検索条件復元装置３００は、正規表現生成装置２００が検索条件から生成した正規表現データ３２３と、正規表現データにおける構成要素ごとの文字列型や構成要素を区切る区切り文字等が示される復元用データ３２１を入力し、復元用データ３２１を用いて正規表現データ３２３を構成要素ごとに分割し（３４２）、構成要素ごとに文字列型を解析して（３４３）、正規表現生成装置２００が正規表現データ３２３の生成に用いた検索条件３３０を復元する（３４４）。復元された検索条件３３０は、ユーザにより修正や調整がなされ、修正・調整後の検索条件３３０が正規表現生成装置２００に入力されて、修正・調整後の検索条件の正規表現データが生成される。【選択図】図２
2011198333.tif 000002
【特許請求の範囲】
【請求項１】
特定の正規表現生成アルゴリズムに従って検索条件から生成された正規表現データであって、前記検索条件の正規表現が記述され、各々が複数種の文字列型のいずれかに分類される１つ以上の構成要素から構成される正規表現データと、前記正規表現データにおける文字列型の並び順序が示される構成データとを入力するデータ入力部と、
文字列型の種類ごとに、前記特定の正規表現生成アルゴリズムにおける正規表現の記述法が示される記述法データを記憶する記述法データ記憶部と、
前記特定の正規表現生成アルゴリズムに対応させて、前記正規表現データの構成を解析し、前記正規表現データを構成要素に分割するデータ分割部と、
前記構成データに示される文字列型の並び順序に基づき、前記データ分割部により分割された各構成要素の文字列型を判別する文字列型判別部と、
前記文字列型判別部により判別された文字列型と前記記述法データに示される記述法に基づき、各構成要素の記述内容を解析し、前記検索条件を復元する検索条件復元部とを有することを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、
正規表現データを生成する正規表現生成装置に接続され、
前記データ処理装置は、更に、
前記検索条件復元部により復元された前記検索条件を修正して、修正検索条件を生成する検索条件修正部と、
前記修正検索条件を前記正規表現生成装置に出力し、前記正規表現生成装置に前記修正検索条件の正規表現データを生成させるデータ出力部とを有することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ入力部は、
各々が通常文字列型、数列型及び特殊文字列型のいずれかに分類される１つ以上の構成要素から構成される正規表現データを入力し、
前記記述法データ記憶部は、
通常文字列型、数列型及び特殊文字列型の各々について、前記特定の正規表現生成アルゴリズムにおける正規表現の記述法が示される記述法データを記憶し、
前記文字列型判別部は、
前記データ分割部により分割された各構成要素が通常文字列型、数列型及び特殊文字列型のいずれであるかを判別し、
前記検索条件復元部は、
前記文字列型判別部により通常文字列型と判別された構成要素の記述内容を通常文字列型における記述法に基づき解析し、前記文字列型判別部により数列型と判別された構成要素の記述内容を数列型における記述法に基づき解析し、前記文字列型判別部により特殊文字列型と判別された構成要素の記述内容を特殊文字列型における記述法に基づき解析することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記データ入力部は、
複数の条件が結合された検索条件から生成された正規表現データを入力する場合があり、
前記データ分割部は、
複数の条件が結合された検索条件から生成された正規表現データを条件単位で構成要素に分割することを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記データ分割部は、
前記正規表現データにおいて条件の先頭を示す先頭文字を抽出し、抽出した先頭文字から次の先頭文字までの範囲を構成要素に分割することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記データ入力部は、
前記特定の正規表現生成アルゴリズムにより生成された正規表現データにおいて構成要素を区切る区切り文字が定義されている区切り文字定義データを入力し、
前記データ分割部は、
前記区切り文字定義データで定義されている区切り文字を抽出して、前記正規表現データを構成要素に分割することを特徴とする請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記データ入力部は、
パイプと括弧が記述されている正規表現データを入力し、
前記データ分割部は、
前記正規表現データをパイプ単位及び括弧単位で区切った後に、区切り文字を抽出して、前記正規表現データを構成要素に分割することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記データ入力部は、
複数の正規表現生成アルゴリズムのうちのいずれかの正規表現生成アルゴリズムにより生成された正規表現データと、前記正規表現データの生成に使用された正規表現生成アルゴリズムが使用正規表現生成アルゴリズムとして示されるとともに前記正規表現データにおける文字列型の並び順序が示される構成データとを入力する場合があり、
前記記述法データ記憶部は、
正規表現生成アルゴリズムごとに、記述法データを記憶しており、
前記データ分割部は、
前記構成データに示される使用正規表現生成アルゴリズムに対応させて、前記正規表現データの構成を解析し、前記正規表現データを構成要素に分割し、
前記文字列型判別部は、
前記構成データに示される文字列型の並び順序に基づき、前記データ分割部により分割された各構成要素の文字列型を判別し、
前記検索条件復元部は、
前記文字列型判別部により判別された文字列型と前記使用正規表現生成アルゴリズムの記述法データに示される記述法に基づき、各構成要素の記述内容を解析し、前記正規表現データの生成元の検索条件を復元することを特徴とする請求項１〜７のいずれかに記載のデータ処理装置。
【請求項９】
特定の正規表現生成アルゴリズムに従って検索条件から生成された正規表現データであって、前記検索条件の正規表現が記述され、各々が複数種の文字列型のいずれかに分類される１つ以上の構成要素から構成される正規表現データと、前記正規表現データにおける文字列型の並び順序が示される構成データとを入力するデータ入力処理と、
文字列型の種類ごとに、前記特定の正規表現生成アルゴリズムにおける正規表現の記述法が示される記述法データを所定の記憶領域から読み出す記述法データ読み出し処理と、
前記特定の正規表現生成アルゴリズムに対応させて、前記正規表現データの構成を解析し、前記正規表現データを構成要素に分割するデータ分割処理と、
前記構成データに示される文字列型の並び順序に基づき、前記データ分割処理により分割された各構成要素の文字列型を判別する文字列型判別処理と、
前記文字列型判別処理により判別された文字列型と前記記述法データに示される記述法に基づき、各構成要素の記述内容を解析し、前記検索条件を復元する検索条件復元処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、正規表現データから検索条件を復元する技術に関する。
【背景技術】
【０００２】
文書の検索手法の１つとして、正規表現を用いた記述の一致による検索手法がある。
正規表現とは、文書に対して指定したものと同じ文字列を探しだすため、一定の規則に従って、文字列の指定を形作るものである。
この規則に従い、文字列に幅を持たせることが可能であり、０から９の何れかに該当する文字を指定することや、ＡとＺの間に８文字分のなんらかの文字が間にある文字列を指定することなど、自由度の高い指定が可能である。
しかし、機械的な検索能力に優れる反面、正規表現によって表現された文字列は人にとって可読性が低いという欠点がある。このため、正規表現を人手で記述することは、効率的ではない。
【０００３】
背景技術を説明する前に、正規表現について例を挙げながら説明する。
【０００４】
例えば、数値１２３〜７６５４という範囲を表す正規表現を以下に示す。
【０００５】
【数１】
2011198333.tif 000003
【０００６】
上記の正規表現は、｜（パイプ）で組み合わされた複数の正規表現の集合体である。
上記において、“｜”はＯＲ（または）を表す。
例えば、“Ａ｜Ｂ”の記述で、ＡまたはＢのどちらかに一致する文字を表す。
また、（）の表記は、１つのまとまりを示す。
また、［］（角括弧）は、角括弧内に含まれる文字のいずれかを指定する表記である。
例えば、［０−９］との表記は、［］内で“−”で繋がれた文字の間を全て含む表記である。
また、［あ−ん］であれば、５０音の内のどれかに一致する文字を表す。
［０−９］であれば、数字１文字を表す。
「［＝！］＝」と書いた場合、「＝＝」と「！＝」の両方を表す
【０００７】
数１に例として上げた正規表現を（）ごとに分解して日本語訳を併記する。
１２３〜１２９または１３０〜１９９を表す。
（１２［３−９］｜１［３−９］［０−９］）
２００〜９９９または１０００〜６９９９を表す。
（［２−９］［０−９］［０−９］｜［１−６］［０−９］［０−９］［０−９］）
７０００〜７５９９または７６００〜７６４９または７６５０〜７６５４を表す。
（７［０−５］［０−９］［０−９］｜７６［０−４］［０−９］｜７６５［０−４］）
【０００８】
他にも様々な文字列の表現を行う記号や記法が存在するが、基本は同じである。
【０００９】
そして、正規表現利用の効率化を狙った既存の技術として、例えば、特許文献１に記載の技術がある。
特許文献１では、検索を行いたい文字列のパターンを検索条件として正規表現生成装置に入力し、正規表現生成装置は、入力した検索条件から自動的に正規表現を生成する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１４６１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以上のように、特許文献１の技術は、検索条件から正規表現を生成するものであるが、検索条件の再作成が考慮に入れられた構成となっていない。
正規表現生成装置の実際の運用においては、検索条件の調整によって望ましい検索結果を出す正規表現を試行する作業が想定される。
特許文献１に開示される正規表現生成装置を用いると、例えば、図１０に示すような運用となる。
つまり、ユーザが検索条件を正規表現生成装置に入力し、正規表現生成装置が入力した検索条件の正規表現データを生成し、ユーザは生成された正規表現データを用いて検索を試行し、新たな検索条件を生成する。
正規表現データとは、検索条件に示される条件が正規表現で表されているデータであり、正規表現生成装置の出力データである。
なお、正規表現生成装置は、正規表現データを生成すると、当該正規表現データの生成に用いた検索条件を破棄する。
図１０に示すように、特許文献１の正規表現生成装置を用いた場合は、試行のたびにユーザが検索条件を全て再生成する必要があり、非効率的である。
また、正規表現データを直接編集することは、可読性の低さから、非効率的といえる。
【００１２】
そこで、正規表現を生成するために入力する検索条件を保存しておき、検索条件の再編集を可能とすることで、正規表現生成の試行を効率化する方法も考えられる。
しかし、検索条件には要素が多くあるうえ、要素の並び順や検索条件の結合方法等の全てに意味が存在している。
これら全てを保存するのは、データ管理、コスト、パフォーマンスの各側面から考えて非効率的と考えられる。
【００１３】
以下では、検索条件を保存することが非効率的である理由を、より詳細に説明する。
【００１４】
検索条件を直接保存する場合は、保存する情報それぞれが統一された情報で構成されていないため、例えばＳＱＬで保存することを考えた場合に、全てに条件としてのまとまりを付加するためのタグを付け、情報の意味（区切りを表すデータである、前方一致やフィールド内一致などを表したデータである、何区切り目の情報である・・・など）を付加する必要がある。
さらに、正規表現として実現出来る条件の組み合わせ方が存在するため、それらの情報の付加の仕方、整合性確保のための処理など、管理のための手間が大きくかかる。
例えば、以下に示すような比較的単純な検索条件１〜３を保存する場合であっても、多くの情報を付加する必要がある。
【００１５】
カンマによって区切られた３つの値の組み合わせによる文字列、（文字列，数列，特殊文字列（日付））が１件以上存在するデータに対し、検索条件を指定する。
（１）検索条件１（機能：１区切り目に「正規表現」が記述された文字列を検索する）
１区切り目
カンマ及びダブルクオート以外にどのような文字列が存在しても良い
フィールド内一致
正規表現という文字列を含む文字列があること
【００１６】
（２）検索条件２（機能：２区切り目に「１２３〜７６５４」の範囲に当てはまる数列が記述された文字列を検索する）
１区切り目
カンマ及びダブルクオート以外にどのような文字列が存在しても良い
空白でもよい
２区切り目
フィールド内一致
１２３から７６５４の間の整数の値の文字列があること
【００１７】
（３）検索条件３（機能：３区切り目に「２０１０／１０／１０  １０：１０：１０〜２０１１／１１／１１  １１：１１：１１」の範囲に当てはまる特殊文字列が記述された文字列を検索する）
１区切り目
カンマ及びダブルクオート以外にどのような文字列が存在しても良い
空白でもよい
２区切り目
カンマ及びダブルクオート以外にどのような文字列が存在しても良い
空白でもよい
３区切り目
フィールド内一致
２０１０／１０／１０  １０：１０：１０から２０１１／１１／１１  １１：１１：１１の間の日付および時間の文字列があること
【００１８】
実際の運用では、上記の検索条件１〜３よりも複雑かつ長大な検索条件が用いられるため、付加情報の情報量が膨大となり、また、情報の付加の仕方、整合性確保のための処理も、検索条件の複雑さに比例して多くの値を保存する必要があり、検索条件を保存することは効率的ではない。
【００１９】
以上のように、特許文献１の正規表現生成装置を用いた場合は、試行のたびにユーザが検索条件を全て再生成する必要もしくは、正規表現を直接編集する必要があるが、可読性の低さから、効率的ではないという課題がある。
また、検索条件を保存することも、上記のように、付加情報の情報量が膨大となり、また、情報の付加の仕方、整合性確保のための処理も複雑であり、効率的ではないという課題がある。
【００２０】
この発明は、上記のような課題を解決することを主な目的の一つとしており、検索条件の修正や調整が効率的にできる構成を得ることを主な目的とする。
【課題を解決するための手段】
【００２１】
本発明に係るデータ処理装置は、
特定の正規表現生成アルゴリズムに従って検索条件から生成された正規表現データであって、前記検索条件の正規表現が記述され、各々が複数種の文字列型のいずれかに分類される１つ以上の構成要素から構成される正規表現データと、前記正規表現データにおける文字列型の並び順序が示される構成データとを入力するデータ入力部と、
文字列型の種類ごとに、前記特定の正規表現生成アルゴリズムにおける正規表現の記述法が示される記述法データを記憶する記述法データ記憶部と、
前記特定の正規表現生成アルゴリズムに対応させて、前記正規表現データの構成を解析し、前記正規表現データを構成要素に分割するデータ分割部と、
前記構成データに示される文字列型の並び順序に基づき、前記データ分割部により分割された各構成要素の文字列型を判別する文字列型判別部と、
前記文字列型判別部により判別された文字列型と前記記述法データに示される記述法に基づき、各構成要素の記述内容を解析し、前記検索条件を復元する検索条件復元部とを有することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、正規表現データから検索条件を復元することができる。
このため、正規表現データの修正・再利用を効率的に行うことができ、この結果、検索条件の修正・再利用を効率的に行うことが可能になる。
また、正規表現データから検索条件を復元することが可能であるため、検索条件ではなく正規表現データを保存することが可能である。
正規表現データは検索条件等の情報を効率的に記述した結果であるため、検索条件を直接保存する場合に発生する、付加情報の情報量が膨大となる、情報の付加の仕方、整合性確保のための処理が複雑であるといった問題を回避することができ、管理コストの低減が実現される。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１に係る検索条件復元装置を用いた運用例を示す図。
【図２】実施の形態１に係る検索条件復元装置の動作の概要を示す図。
【図３】実施の形態１に係る検索条件復元装置の構成例を示す図。
【図４】実施の形態１に係る検索条件復元装置と正規表現生成装置との対応関係を示す図。
【図５】実施の形態１に係る検索条件復元装置と正規表現生成装置との対応関係を示す図。
【図６】実施の形態１に係る検索条件復元装置が正規表現生成装置から入力する情報の例を示す図。
【図７】実施の形態１に係る検索条件復元装置の正規表現分割フローを示すフローチャート図。
【図８】実施の形態１に係る検索条件復元装置の正規表現解析フローを示すフローチャート図。
【図９】実施の形態１に係る検索条件復元装置のハードウェア構成例を示す図。
【図１０】従来の正規表現生成装置を用いた運用例を示す図。
【発明を実施するための形態】
【００２４】
実施の形態１．
本実施の形態では、検索条件から生成された正規表現データを入力し、入力した正規表現データを解析して検索条件を復元する検索条件復元装置を説明する。
正規表現データとは、前述したように、検索条件に示される条件が正規表現で表されているデータであり、正規表現生成装置の出力データである。
【００２５】
図１は、本実施の形態に係る検索条件復元装置を用いた場合の運用形態を示す。
ユーザは、検索条件が存在していない場合（１０１でＮＯ）は、検索条件を生成し（１０２）、生成した検索条件（１０３）を正規表現生成装置（１０４）で解析させて正規表現データ（１０５）を得る。
そして、ユーザは取得した正規表現データを用いて検索の試行（１０６）を行うことができる。
また、ユーザは、正規表現生成装置（１０４）で生成された正規表現データをデータベース（１１１）に格納し、検索条件復元装置（１０７）に正規表現データを読み込ませ、解析させる。
検索条件復元装置（１０７）では、正規表現データの解析の結果、検索条件（１０８）を復元する。
復元された検索条件（１０８）は、検索条件（１０３）と一致する。
正規表現データは、検索条件（１０３）の正規表現が記述され、各々が複数種の文字列型のいずれかに分類される１つ以上の構成要素から構成される。
構成要素は、単体で意味を持つ最小単位のデータ（有意の文字列として捉えられる最小単位）であり、構成要素を分解すると、分解された後のデータ単体では意味をなさなくなる。
正規表現データを構成要素に分割し、構成要素ごとの文字列型を判別し、構成要件ごとに正規表現生成アルゴリズムで定められている文字列型別の記述法に照らして解析していけば、検索条件を復元することができる。
ユーザは、例えば、検索試行（１０６）の結果に基づき、検索条件（１０８）に対して調整や修正を行って（１０９）、調整後、修正後の検索条件（１１０）を得る。
そして、ユーザは調整後、修正後の検索条件（１１０）を正規表現生成装置（１０４）に入力し、調整後、修正後の検索条件（１１０）に対する正規表現データ（１０５）を得ることができる。
このように、本実施の形態に係る検索条件装置と、例えば特許文献１に記載の正規表現生成装置を組み合わせて用いることにより、検索条件の調整、修正を効率的に行うことができ、また、調整後、修正後の検索条件の正規表現データを得ることもできる。
【００２６】
次に、本実施の形態に係る検索条件復元装置３００の動作の概要を図２を用いて説明する。
なお、本実施の形態に係る検索条件復元装置３００は、データ処理装置の例である。
【００２７】
図２において、正規表現生成装置２００は、例えば、特許文献１に記載の正規表現生成装置である。
正規表現生成装置２００における正規表現データの生成フローは、例えば、２０１〜２０５に示す通りである。
２０２〜２０５の動作の詳細な説明は省略する。
【００２８】
検索条件復元装置３００は、データ取得部３０１が、復元用データ３２１、タグ３２２、正規表現データ３２３を入力し、データ保存部３０２に検索条件復元用データ３２０として格納する。
正規表現データ３２３は、正規表現生成装置２００が検索条件から生成した正規表現データである。
復元用データ３２１は、正規表現データ３２３における構成要素ごとの文字列型や構成要素を区切る区切り文字等が示されるデータである。
タグ３２２は、正規表現データ３２３の性質を説明する情報である。
そして、検索条件復元装置３００では、検索条件復元フロー３４０に示すように、まず、データ保存部３０２の検索条件復元用データ３２０の読み込みが行われる（３４１）。
次に、検索条件復元処理として、正規表現分割処理（３４２）と正規表現解析処理（３４３）が行われる。
正規表現分割処理（３４２）では、復元用データ３２１を用いて正規表現データ３２３を構成要素ごとに分割する。
また、正規表現解析処理（３４３）では、構成要素ごとに文字列型を解析して（３４３）、正規表現生成装置２００が正規表現データ３２３の生成に用いた検索条件３３０を復元する（３４４）。
復元された検索条件３３０は、ユーザにより修正や調整がなされ、修正・調整後の検索条件が正規表現生成装置２００に入力されて（２０１）、修正・調整後の検索条件の正規表現データが生成される（２０５）。
【００２９】
なお、検索条件復元装置３００は、図４に示すように、正規表現生成装置２００の正規表現生成アルゴリズムと１対１に対応させてもよいし、図５に示すように、１つの検索条件復元装置３００を２つ以上の正規表現生成アルゴリズムに対応させるようにしてもよい。
図４は、正規表現生成装置２００と検索条件復元装置３００が一体として運用される例を示している。
つまり、正規表現生成アルゴリズムＡを用いる正規表現生成装置Ａ２００ａで生成された正規表現データは正規表現復元装置Ａ’３００ａのみが検索条件を復元でき、正規表現生成アルゴリズムＢを用いる正規表現生成装置Ｂ２００ｂで生成された正規表現データは正規表現復元装置Ｂ’３００ｂのみが検索条件を復元できることとしている。
図５は、検索条件復元装置３００が、複数の正規表現生成アルゴリズムに対応させて、複数の生成アルゴリズム用データを保有している例を示している。
つまり、検索条件復元装置３００は、正規表現生成装置Ａ２００ａが用いる正規表現生成アルゴリズムＡで生成された正規表現データを解釈するための生成アルゴリズムＡ用データを有する。
このため、正規表現生成アルゴリズムＡで生成された正規表現データから検索条件を復元できる。
また、検索条件復元装置３００は、正規表現生成装置Ｂ２００ｂが用いる正規表現生成アルゴリズムＢで生成された正規表現データを解釈するための生成アルゴリズムＢ用データを有する。
このため、正規表現生成アルゴリズムＢで生成された正規表現データから検索条件を復元できる。
図５に示す運用の場合は、例えば、復元用データ３２１に、正規表現データ３２３がいずれの正規表現生成アルゴリズムが使用されて生成されたかを示す情報を含ませ、検索条件復元装置３００では、復元用データ３２１の正規表現生成アルゴリズム（使用正規表現生成アルゴリズム）の表示に対応させて、検索条件を復元する。
なお、以下では、説明の簡明のため、図４に示すように正規表現生成装置２００と検索条件復元装置３００が１対１で運用される例を前提にして説明する。
【００３０】
次に、本実施の形態に係る検索条件復元装置３００の構成例を図３を用いて説明する。
【００３１】
データ取得部３０１は、正規表現生成装置２００から、復元用データ３２１、タグ３２２、正規表現データ３２３を入力し、データ保存部３０２に検索条件復元用データ３２０として格納する。
ここでは、正規表現データ３２３は、図４に示した正規表現生成アルゴリズムＡに従って生成されたものであるとする。
復元用データ３２１には、正規表現データ３２３における文字列型の並び順序や構成要素の区切り位置が示される構成データと、正規表現生成アルゴリズムＡで定められている正規表現データ内の構成要素を区切る区切り文字が定義されている区切り文字定義データが含まれる。
文字列型は、例えば、通常文字列、数列、特殊文字列の３類型である。
また、区切り文字は、例えば、”，”（カンマ）である。
なお、区切り文字定義データは、復元用データ３２１に含まれていなくてもよく、後述の記述法データ３５０に含まれていてもよい。
また、データ取得部３０１は、後述の検索条件修正部３０８により修正された修正検索条件３３０を正規表現生成装置２００に出力し、正規表現生成装置２００に修正検索条件３３０の正規表現データを生成させる場合がある。
データ取得部３０１は、データ入力部及びデータ出力部の例である。
【００３２】
データ保存部３０２は、検索条件復元用データ３２０を記憶するとともに、記述法データ３５０を記憶する。
記述法データ３５０は、文字列型の種類ごとに、特定の正規表現生成アルゴリズム（本例では、正規表現生成アルゴリズムＡ）における正規表現の記述法が示されるデータである。
また、データ保存部３０２は、検索条件修正部３０８により修正された検索条件３３０を記憶する。
データ保存部３０２は、記述法データ記憶部の例である。
【００３３】
制御部３０３は、検索条件復元装置３００の全体の制御を行う。
【００３４】
マンマシンインタフェース部３０４は、入力装置４００と出力装置５００に接続され、入力装置４００及び出力装置５００と、検索条件復元装置３００内部の要素とのインタフェースとなる。
なお、入力装置４００は、例えば、キーボード、マウス等であり、出力装置５００はディスプレイ装置やプリンタ等である。
【００３５】
データ分割部３０５は、データ保存部３０２から、指定のタグ３２２（例えば、入力装置４００を用いてユーザにより指定されたタグ３２２）に紐付けられている復元用データ３２１と正規表現データ３２３を読み出し、復元用データ３２１を参照して正規表現データ３２３の構成を解析し、正規表現データ３２３を構成要素に分割する。
前述したように、復元用データ３２１では、構成データに正規表現データ３２３における構成要素の区切り位置が示されており、区切り文字定義データに区切り文字が定義されている。
このため、データ分割部３０５は、復元用データ３２１を参照して、正規表現データ３２３を構成要素に分割することができる。
【００３６】
文字列型判別部３０６は、データ分割部３０５により分割された各構成要素の文字列型を判別する。
より具体的には、文字列型判別部３０６は、復元用データ３２１の構成データに示される文字列型の並び順序に基づきデータ分割部３０５により分割された各構成要素が通常文字列型、数列型及び特殊文字列型のいずれであるかを判別する。
構成データには、１つ目の構成要素は通常文字列、２つ目の構成要素は数列というように文字列型の並び順序が示される。
【００３７】
検索条件復元部３０７は、文字列型判別部３０６により判別された文字列型と記述法データ３５０に示される記述法に基づき、各構成要素の記述内容を解析し、正規表現生成装置２００が正規表現データ３２３の生成に用いた検索条件を復元する。
記述法データ３５０には、通常文字列型、数列型及び特殊文字列型の各々について、正規表現生成アルゴリズムＡにおける正規表現の記述法が示される。
このため、検索条件復元部３０７は、文字列型判別部３０６により通常文字列型と判別された構成要素の記述内容を通常文字列型における記述法に基づき解析する。
同様に、検索条件復元部３０７は、文字列型判別部３０６により数列型と判別された構成要素の記述内容を数列型における記述法に基づき解析し、特殊文字列型と判別された構成要素の記述内容を特殊文字列型における記述法に基づき解析する。
【００３８】
検索条件修正部３０８は、検索条件復元部３０７により復元された検索条件３３０をユーザの指示に基づいて修正して、修正検索条件３３０を生成する。
【００３９】
次に、検索条件復元装置３００のデータ取得部３０１が入力する復元用データ３２１及びタグ３２２をより詳細に説明する。
復元用データ３２１には、例えば、以下の３種のデータが含まれる。
（１）正規表現データ３２３で用いられている区切り文字の定義
（２）正規表現データ３２３における区切りの位置の定義
（３）正規表現データ３２３における区切り位置ごとの文字列型の定義（文字列型の並び順序の定義）
また、タグ３２２は、検索条件復元用データがどのような意味合いを持つかを表す情報である。
これによって、編集したい検索条件復元用データを選択する指針とすることできる。
内容を以下に例示するが、検索条件復元用データの内容を把握出来る情報であれば、全てタグとしてふさわしい。
（１）正規表現データ３２３の名前（説明）
（２）正規表現データ３２３の作成日・最終編集日
（３）正規表現データ３２３の作成者・編集者
【００４０】
図６は、正規表現生成装置２００における入力データ及び出力データを示す。
正規表現生成装置２００は、文書構成、検索条件、タグを入力する。
図６における文書構成とは、復元用データ３２１に含まれる区切り文字の定義、区切りの位置の定義、区切り位置ごとの文字列型の定義である。
そして、正規表現生成装置２００は、検索条件に対して文書構成及びタグを適用して正規表現生成処理を行って正規表現データを生成し、正規表現データを出力する。
更に、正規表現生成装置２００は、文書構成を復元用データ３２１として、タグをタグ３２２として出力する。
検索条件復元装置３００では、データ取得部３０１が、復元用データ３２１、タグ３２２、正規表現データ３２３を入力し、検索条件復元用データ３２０としてデータ保存部３０２に格納する。
【００４１】
次に、検索条件復元装置３００のデータ分割部３０５の分割処理を説明する。
データ分割部３０５では、正規表現データ３２３を構成要素別に分解し、要素ごとの文字列型と紐付ける処理を行う。
まず、データ分割部３０５は、検索条件復元用データ３２０のうち、正規表現データ３２３と復元用データ３２１（区切り文字の定義、区切り位置の定義、文字列型の並び順序）を用意する。
次に、データ分割部３０５は、区切り位置と文字列型の並び順序によって、構成要素それぞれの意味を紐付ける。
次に、データ分割部３０５は、紐付けられたそれぞれの意味毎に、区切り文字の情報とデータの構造に従って、分割を行う。
分割は以下の階層に従って順に行われる。
（ア）条件内の指定が複数の場合の分割
（イ）区切り文字毎の分割
（ウ）区切り毎にデータ型との紐付け
【００４２】
データ分割部３０５の処理を、図７に示すフローに従ってより詳細に説明する。
【００４３】
まず、データ分割部３０５は、正規表現データ３２３に複数の文字列先頭指定があるかどうかを判断する（Ｓ７０１）。
複数の先頭文字列指定がある場合は、正規表現データ３２３を文字列先頭指定で分割し（Ｓ７０２）、以降、すべての文字列先頭指定について分割を行うまでＳ７０１とＳ７０２の処理を繰り返す。
そして、正規表現データ３２３に含まれるすべての文字列先頭指定について分割した後、分割した範囲（文字列先頭指定から次の文字列先頭指定の直前までの範囲）ごとに、後述するＳ７０３以降の処理を行う。
なお、文字列先頭指定とは、例えば、正規表現生成アルゴリズムで条件の先頭を意味するとして予め定められている特定の文字列であり、具体的には“＾”である。
【００４４】
Ｓ７０３では、データ分割部３０５は、分割範囲でパイプ（“｜”）の接続があるかどうかを判断し、パイプの接続がある場合は、パイプで分割し（Ｓ７０４）、パイプがなくなるまでＳ７０３及びＳ７０４の処理を繰り返す。
そして、すべてのパイプについて分割を行うと、分割した範囲（パイプから次のパイプの直前までの範囲）ごとに、後述するＳ７０５以降の処理を行う。
【００４５】
Ｓ７０５では、データ分割部３０５は、分割範囲で分割可能な括弧があるかどうかを判断し、分割可能な括弧がある場合は、分割可能な括弧で分割し（Ｓ７０６）、分割可能な括弧がなくなるまでＳ７０５及びＳ７０６の処理を繰り返す。
そして、すべての分割可能な括弧について分割を行うと、分割した範囲（括弧から次の括弧の直前までの範囲）ごとに、後述するＳ７０７以降の処理を行う。
【００４６】
Ｓ７０７では、分割範囲で区切り文字があるかどうかを判断し、分割可能な区切り文字がある場合は、区切り文字で分割し（Ｓ７０８）、区切り文字がなくなるまでＳ７０７及びＳ７０８の処理を繰り返す。
そして、すべての区切り文字について分割を行うと、文字列として扱うことが可能な構成要素単位で分割されたことになり、構成要素ごとに、後述するＳ７０９が行われる。
【００４７】
Ｓ７０９では、データ分割部３０５は、区切り文字ごとに分割された範囲（構成要素）の正規表現データ３２３における構成位置（出現順序）と復元用データ３２１の文字列型の並び順序とを紐付ける。
以上でデータ分割部３０５の処理は終了し、以降は、文字列型判別処理が開始される。
【００４８】
文字列型判別処理では、文字列型判別部３０６が、データ分割部３０５により分割された構成要素（文字列）が、数列、特殊文字列、通常文字列の何れの文字列型かを判別する。
より具体的には、構成要素の正規表現データ３２３における出現順序と文字列型の並び順序との紐付と、復元用データ３２１に示されている文字列型とに基づいて、構成要素ごとに文字列を判別する。
【００４９】
検索条件復元部３０７は、文字列型ごとに、構成要素の記述内容を記述法データ３５０を参照して解釈する。
（１）数列型の場合
数列を解析し、最小値から最大値の指定を抽出する。
数列からの最小値および最大値の指定がどのように正規表現として生成されているかは、正規表現生成アルゴリズムに依存する。
正規表現生成アルゴリズムの生成パターンに合わせ、抽出方法を指定する。
なお、解析手法の具体例は後述する。
（２）特殊文字列型の場合
特殊文字列の種別に合わせた解析を行い、最小値から最大値を抽出する。
正規表現生成装置の構成やアルゴリズムにより、特殊文字列として使用できる検索条件のパターンが異なる。
そのため、正規表現生成装置に合わせて、解析する特殊文字列のパターンやその解析方法を実現する。
これについても、解析手法の具体例を後述する。
（３）通常文字列の場合
文字列が表す文字列のパターンを取得する。
【００５０】
検索条件復元部３０７の処理を、図８に示すフローに従ってより詳細に説明する。
【００５１】
検索条件復元部３０７は、正規表現データ３２３における出現順に解析対象とする構成要素を指定し、解析対象の構成要件の文字列型が数列型であるかを判断する（Ｓ８０１）。
解析対象の構成要素が数列型であれば、記述法データ３５０に示される数列型の記述法に従って、数列を解析して最小値及び最大値を抽出する（Ｓ８０２）。
また、解析対象の構成要素が数列型ではない場合は、次に、検索条件復元部３０７は、通常文字列型であるかを判断する（Ｓ８０３）。
解析対象の構成要素が通常文字列型であれば、記述法データ３５０に示される通常文字列型の記述法に従って、構成要素を解析する（Ｓ８０４）。
また、解析対象の構成要素が通常文字列型ではない場合は、次に、検索条件復元部３０７は、複数種ある特殊文字列のうちの形式ｉのものと解析対象の構成要素を比較する（Ｓ８０５）。
解析対象の構成要素が形式ｉの特殊文字列と一致する場合（Ｓ８０６でＹＥＳ）は、記述法データ３５０に示される形式ｉの特殊文字列の記述法に従って、構成要素を解析する（Ｓ８０８）。
一方、解析対象の構成要素が形式ｉの特殊文字列と一致しない場合（Ｓ８０６でＮＯ）は、ｉをインクリメントして（Ｓ８０７）、別の形式の特殊文字列との比較を行い（Ｓ８０５）、以降、解析対象の構成要素に一致する形式が見つかるまでＳ８０５〜Ｓ８０７を繰り返す。
そして、正規表現データ３２３に含まれる全ての構成要素に対してＳ８０２、Ｓ８０４、Ｓ８０８のいずれかの解析が行われた場合に（Ｓ８０９でＹＥＳ）、検索条件復元部３０７は検索条件を出力する（Ｓ８１０）。
Ｓ８１０では、検索条件復元部３０７は、解析された各データを、指定に従って並べ直し、１つの検索条件へ編集する。
より具体的には、複数条件を文字毎に整理し、区切り文字の順に従い、正規表現の結合構造を再現する。
そして、検索条件復元部３０７は、ひと繋がりとなった検索条件を出力する。
【００５２】
なお、以上の説明は、正規表現データから検索条件を復元するための一般化した原理を説明したものであり、正規表現生成アルゴリズムごとに特有の記述法に対応させた整形処理や正規表現生成アルゴリズムごとに特有の数値や特殊文字の指定方法等に対応させた演算処理等を排除するものではない。
【００５３】
次に、正規表現データの例を用いて、本実施の形態に係る検索条件復元装置３００の動作を具体的に説明する。
なお、ここでは、特許文献１に記載された正規表現生成装置に、以下の２つのデータを与えて生成された正規表現データを復元する手順を示す。
【００５４】
（１）文書構成
区切りの文字：“，”（カンマ）
区切りの位置：３つの区切りによって成立している
区切りの位置毎のデータ型
１つ目の区切り：文字列
２つ目の区切り：数列
３つ目の区切り：特殊文字列（日付０型）
（日付０型は、特許文献１において、ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳという日付及び時刻の指定方法「文字列，数列，特殊文字列（日付０型）」である）
【００５５】
（２）検索条件
上記の文書構成に対して、３つの検索条件から正規表現データを作成する。
検索条件１：１区切り目に「正規表現」に当てはまる文字列があるか
検索条件２：２区切り目に「１２３〜７６５４」に当てはまる数列があるか
検索条件３：３区切り目に「２０１０／１０／１０  １０：１０：１０〜２０１１／１１／１１  １１：１１：１１」に当てはまる特殊文字列はあるか
【００５６】
後述する説明における正規表現の文字の取り扱いは、以下のとおりである。
（１）＜通常の文字＞は、通常の文字を照合する。
（２）￥＜特殊文字＞は、特殊文字（「｜」、「？」、「＊」、「＋」「￥」、「＾」など）を照合する。
（３）［ａｂｃ．．．］は、文字ａｂｃ．．．中の任意の１文字を照合する。
（４）［ａ−ｚ］は、文字コードがａからｚまでの範囲にある任意の１文字を照合する。
（５）［＾ａｂｃ．．．］は、文字ａｂｃ．．．以外の任意の１文字を照合する。
（６）［＾ａ−ｚ］は、文字コードがａからｚまでの範囲にはない任意の１文字を照合する。
（７）＾は、行の先頭を照合する。
（８）＜正規表現＞？は、＜正規表現＞が０回又は１回現れるものを照合する。
（９）＜正規表現＞＊は、＜正規表現＞が０回又は任意の回数繰り返されるものを照合する。
（１０）＜正規表現＞＋は、＜正規表現＞が１回以上繰り返されるものを照合する。
（１１）＜正規表現＞｛ｎ｝は、＜正規表現＞がｎ回繰り返されるものを照合する。
（１２）＜正規表現＞｛ｎ，｝は、＜正規表現＞がｎ回以上繰り返されるものを照合する。
（１３）＜正規表現＞｛，ｍ｝は、＜正規表現＞が０回以上ｍ回以下繰り返されるものを照合する。
（１４）＜正規表現＞｛ｎ，ｍ｝は、＜正規表現＞がｎ回以上ｍ回以下繰り返されるものを照合する。
（１５）＜正規表現１＞｜＜正規表現２＞は、＜正規表現１＞又は＜正規表現２＞を照合する。
（１６）＜正規表現１＞＜正規表現２＞は、前半部分が＜正規表現１＞で後半部分が＜正規表現２＞であるものを照合する。
【００５７】
上記の検索条件１〜３に対して、特許文献１の正規表現生成装置により生成された正規表現データは以下のようになる。
【００５８】
【数２】
2011198333.tif 000004
【００５９】
【数３】
2011198333.tif 000005
【００６０】
【数４】
2011198333.tif 000006
【００６１】
まず、データ分割部３０５によるデータ分割処理を説明する。
図７のＳ７０１及びＳ７０２に示すように、“＾“によって表現される文字列先頭指定ごとに正規表現データを分割する（なお、正規表現データ１〜３は全て文字列先頭指定が１つのみ）。
次に、図７のＳ７０３及びＳ７０４に示すように、“｜”（パイプ）で接続された条件ごとに分割する。
また、同時に、図７のＳ７０５及びＳ７０６に示すように、パイプでの分割内で括弧（）によって括られていない場合も分割を行う。
上記、分割処理後の正規表現データがどのような構成であったかの情報は保持する。
なお、図７のＳ７０７の処理が行われる直前の正規表現データ１〜３の各々の状態を以下に示す。
【００６２】
【数５】
2011198333.tif 000007
【００６３】
【数６】
2011198333.tif 000008
【００６４】
【数７】
2011198333.tif 000009
【００６５】
また、データ分割部３０５は、図７のＳ７０７及びＳ７０８に示されるように、区切り文字ごとに分割し、区切りごとに情報を整理する。
正規表現データ１〜３では、記号“＾”によって意味の反転した［］内に含まれない“，”の指定数によって、区切りの文字ごとの分割を行う。
また、｛｝によって数値の指定が有った場合は、｛｝に前置されている正規表現中の“，”の数を、｛｝内の数値分、等倍する。
本処理を経た後の正規表現データ１〜３の例を示す。
【００６６】
【数８】
2011198333.tif 000010
【００６７】
【数９】
2011198333.tif 000011
【００６８】
【数１０】
2011198333.tif 000012
【００６９】
次に、データ分割部３０５は、図７のＳ７０９に示すように、区切り毎に文字列型との紐付けを行う。
つまり、細分化した区切りそれぞれに対して、区切り位置から判明するデータ型を紐付ける。
紐付けを用いて文字列型判別部３０６が判別した正規表現データ１〜３の文字列型を以下に示す。
【００７０】
正規表現データ１（検索条件１から生成）
区切りが１つ目までしかないため、復元用データ３２１より通常文字列が当てはまる。
なお、復元用データ３２１では、２つ目の区切りが数列、３つ目の区切りが特殊文字列と定義しているが、正規表現データ１では、区切りが１つ目までしかないため、２つ目の区切り及び３つ目の区切りの文字列型の定義は考慮されず、１つ目の区切りが通常文字列であると判定するにとどまる。
【００７１】
正規表現データ２（検索条件２から生成）
区切りが２つ目まであるため、復元用データ３２１より、通常文字列、数列の順で当てはまる。
なお、復元用データ３２１では、３つ目の区切りが特殊文字列と定義しているが、正規表現データ２では、区切りが２つ目までしかないため、３つ目の区切りの文字列型の定義は考慮されず、１つ目の区切りが通常文字列、２つ目の区切りが数列と判定するにとどまる。
【００７２】
正規表現データ３（検索条件３から生成）
区切りが３つ目まであるため、復元用データ３２１より、文字列、数列、特殊文字列の順で当てはまる。
【００７３】
次に、検索条件復元部３０７が図８に示すフローに従って、文字列型ごとの解析処理を行い、解析結果のデータの結合を行っていき、最終的な検索条件の導出を行う。
なお、生成アルゴリズムに依存した解析処理は、数列処理および特殊文字列の処理に対して行う。
以下、正規表現データ１〜３の各々に対する解析方法を説明する。
【００７４】
【数１１】
2011198333.tif 000013
【００７５】
通常文字列に対する処理は、通常文字列の指定がどの部位で行われるかを把握することが必要となる。
正規表現データ１の区切りごとの解析を行うと、以下のような表現となる。
（ａ）文字列先頭から「，」と「“」を含まない（括弧（）内の「，」と「“」を除く）任意の文字列であり、括弧によって次の正規表現と「”」または「“」で接続される。
（ｂ）または、文字列先頭から「“」で始まり「”」を含まないまたは、「”  “」で始まった後の任意の文字列であり、括弧によって括りが終了している。
（ｃ）以上の後に「正規表現」という通常文字列がある文字列
以上のようにパイプまたは括弧の区切り毎に正規表現の解析を行い、最後に構成順に沿ってデータを解析する。
この通常文字列に対する処理としては、（ａ）および（ｂ）の正規表現は、フィールド内一致を示す表現である。
この表現の後に正規表現という文字列が来ることを指定するデータが存在していることがわかる。
最終的にデータとして引き渡すのは、以下を表すものとなる。
「１区切り目内に“正規表現“の通情報文字列を含む文字列」
なお、ここでは、通常文字列の処理に関しては、記述されたままの通常文字列を入力値として扱い、区切り内の処理として、任意の文字列の存在を許可している。
同時に、１つ目の区切り以外の正規表現という文字列に対しては考慮に入れていない。
【００７６】
【数１２】
2011198333.tif 000014
【００７７】
１つ目の区切り（上記の１段落目）は、通常文字列であり、検索条件復元部３０７は、前述の通常文字列の処理の例と同様に解析していく。
この結果、１区切り目が存在し、任意の通常文字列が存在することを確認する。
２つ目の区切り（上記の２段落目及び３段落目）である数列の処理は、最小値及び最大値がどの点に表記されるかを把握することが必要となる。
ここで、記述法データ３５０には、数列の記述法として、最初のパイプ区切り前の値に含まれる固定の桁の値と最下の桁の最小値を合わせたものが数列範囲の最小値として定義されているものとする。
また、記述法データ３５０には、同時に、最後のパイプ区切りの固定の桁の値と、最下の桁の値の最大値を合わせたものが数列範囲の最大値として定義されているものとする。
以上の定義に従って、検索条件復元部３０７は、最初のパイプ区切り前の記述“１２［３−９］”のうちの固定の桁の値（１２）と最下の桁の最小値（３）を合わせた値、すなわち、１２３を数列範囲の最小値とする。
また、検索条件復元部３０７は、最後のパイプ区切りの記述（上記の３段落目）のうちの固定の桁の値（７６５）と、最下の桁の値の最大値（４）を合わせた値、すなわち、７６５４を数列範囲の最大値とする。
【００７８】
【数１３】
2011198333.tif 000015
【００７９】
正規表現データ３の１つ目の区切り及び２つ目の区切り（上記の１段落目）は、通常文字列、数列である。
検索条件復元部３０７は、前述の通常文字列の処理の例及び数列の処理の例と同様に解析していき、１区切り目及び２区切り目にそれぞれ、任意の文字列及び任意の数列が存在することを確認する。
３つ目の区切り（上記の２段落目及び３段落目）については、特殊文字列であるため、検索条件復元部３０７は、図８のＳ８０５〜Ｓ８０７の処理を行う。
この結果、この特殊文字列が日付０型と判断する。
特殊文字列においても数列と同じく、最大値および最小値を把握すると共に、種類によっては含まれる文字の取得など、文字列と数列の場合の考え方がいり混ざるため、注意しつつ、それぞれの処理を作成する必要がある。
ここで、記述法データ３５０には、日付０型の特殊文字列の記述法として、最初のパイプ区切り前の値に含まれる固定の桁の値と最下の桁の最小値を合わせたものが日付範囲の最小値として定義され、また、年月日のそれぞれの合間に“／”“（スラッシュ）が存在し、時分秒のそれぞれの合間に：”（コロン）が存在すると定義されているものとする。
また、記述法データ３５０には、最後のパイプ区切りの固定の桁の値と、最下の桁の値の最大値を合わせたものが日付範囲の最大値として定義され、また、年月日のそれぞれの合間に“／”“（スラッシュ）が存在し、時分秒のそれぞれの合間に：”（コロン）が存在すると定義されているものとする。
以上の定義に従って、検索条件復元部３０７は、最初のパイプ区切り前の記述“２０１０／１０／１０  （１０：（（１０：１［０−９］）”のうちの固定の桁の値（２０１０／１０／１０  １０：１０：１）と最下の桁の最小値（０）を合わせた値、すなわち、２０１０／１０／１０  １０：１０：１０を日付範囲の最小値とする。
また、検索条件復元部３０７は、最後のパイプ区切りの記述（３段落目）のうちの固定の桁の値（２０１１／１１／１１  １１：１１：１）と、最下の桁の値の最大値（１）を合わせた値、すなわち、２０１１／１１／１１  １１：１１：１１を日付範囲の最大値とする。
【００８０】
このように、本実施の形態によれば、正規表現データから検索条件を復元することができる。
このため、正規表現データの修正・再利用を効率的に行うことができ、この結果、検索条件の修正・再利用を効率的に行うことが可能になる。
そして、図１に例示したように、正規表現データの修正・再利用、検索条件の修正・再利用が有機的に連動した正規表現データの活用サイクルが実現される。
【００８１】
また、正規表現データから検索条件を復元することが可能であるため、検索条件ではなく正規表現データを保存することが可能である。
正規表現データによる保存方法の場合、「正規表現データ」「復元用データ」および「タグ」という、固定されたデータのみであるため、基本的な保存方法によって管理することが可能である。
このため、検索条件を直接保存する場合に発生する、付加情報の情報量が膨大となる、情報の付加の仕方、整合性確保のための処理が複雑であるといった問題を回避することができ、管理コストの低減が実現される。
【００８２】
以上、本実施の形態では、主に以下の２点を解決することを目的とし、
１．正規表現の再利用性を考慮にいれていない構成による、正規表現生成装置運用の非効率性の課題、
２．上記非効率性解決のための直接的な解決法としての、検索条件の全文保存の効率の悪さの課題、
検索条件等の情報を効率的に記述した結果である正規表現データを直接保存することで、保存の効率性を確保し、正規表現データを解析し、検索条件へ復元することによって効率的な正規表現データの運用を図る技術を説明した。
【００８３】
最後に、本実施の形態に示した検索条件復元装置３００のハードウェア構成例について説明する。
図９は、本実施の形態に示す検索条件復元装置３００のハードウェア資源の一例を示す図である。
なお、図９の構成は、あくまでも検索条件復元装置３００のハードウェア構成の一例を示すものであり、検索条件復元装置３００のハードウェア構成は図９に記載の構成に限らず、他の構成であってもよい。
【００８４】
図９において、検索条件復元装置３００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
本実施の形態で説明した「データ保存部３０２」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置４００の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置５００の一例である。
【００８５】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００８６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００８７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００８８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
検索条件復元装置３００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００８９】
上記プログラム群９２３には、本実施の形態の説明において「〜部」（「データ保存部３０２」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００９０】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の判別」、「〜の分割」、「〜の参照」、「〜の解析」、「〜の演算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００９１】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、検索条件復元装置を検索条件復元方法として捉えることも可能である。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００９２】
このように、本実施の形態に示す検索条件復元装置３００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００９３】
２００  正規表現生成装置、３００  検索条件復元装置、３０１  データ取得部、３０２  データ保存部、３０３  制御部、３０４  マンマシンインタフェース部、３０５  データ分割部、３０６  文字列型判別部、３０７  検索条件復元部、３０８  検索条件修正部、３２０  検索条件復元用データ、３２１  復元用データ、３２２  タグ、３２３  正規表現データ、３３０  検索条件、３４０  検索条件復元フロー、３５０  記述法データ、４００  入力装置、５００  出力装置。
【図１】
2011198333.tif 000016
【図２】
2011198333.tif 000017
【図３】
2011198333.tif 000018
【図４】
2011198333.tif 000019
【図５】
2011198333.tif 000020
【図６】
2011198333.tif 000021
【図７】
2011198333.tif 000022
【図８】
2011198333.tif 000023
【図９】
2011198333.tif 000024
【図１０】
2011198333.tif 000025