JP2013525892A - ラージ・スケール正規表現のマッチングのための二重dfa分解 - Google Patents
ラージ・スケール正規表現のマッチングのための二重dfa分解 Download PDFInfo
- Publication number
- JP2013525892A JP2013525892A JP2013505370A JP2013505370A JP2013525892A JP 2013525892 A JP2013525892 A JP 2013525892A JP 2013505370 A JP2013505370 A JP 2013505370A JP 2013505370 A JP2013505370 A JP 2013505370A JP 2013525892 A JP2013525892 A JP 2013525892A
- Authority
- JP
- Japan
- Prior art keywords
- regular expression
- state machine
- expression set
- input string
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】装置は、第一入力ストリングを第一正規表現セットとマッチングさせるためのデータ処理システムを含む。データ処理システムは、プロセッサと、コンピュータ・プログラムを格納するメモリと、該コンピュータ・プログラムを実行するよう構成されたプロセッサとを含む。このコンピュータ・プログラムは、第一正規表現セットの少なくとも2つの関係する記号を1つの一意的記号にマップするステップと、第一入力ストリング中の該少なくとも2つの関係する記号の各インスタンスを該一意的記号に置き換えることによって第二入力ストリングを生成するステップと、入力ストリング上の第一状態マシンおよび第二入力ストリング上の第二状態マシンを作動して、第一入力ストリングが第一正規表現セットとマッチするかどうかを判定するステップと、を遂行するための命令を含む。
【選択図】図1
Description
問題に取り組むための技法の例には、
・ DFAまたはNFAマッチング状態を圧縮するメカニズム、
・ DFAまたはNFAをシミュレートする際にビット・レベルの並列処理を使うメカニズム、
・ 簡略化フォーマリズムを使い状態の激増を制御するため、使用する演算子を減らすこと、
・ 状態の激増を制御するためマッチのセマンティクスの修正(例えば、最短のストリングだけのマッチング、またはクリーネ閉包内の表現のマッチングは除外する)、
・ 状態の激増を制御下に保つため、正規表現セットを異なるサブセットに区分化する(および複数の並列状態マシンを得る)こと、
・ より多くの情報をグラフ中に符号化しスペースの必要性を低減するためのDFAフォーマリズムの修正(例えば、遅延入力のDFA)、
・ DFAを「高速部分」と「低速部分」に区分し、高速部分は正規表現の開始部をマッチさせ、最終的には低速部分を起動させるようにすること(二分パターン・マッチングとしても知られる)、
・ DFAにマッチ履歴を追加し、DFAエッジ上の状態履歴の使用を可能にすること(履歴ベースのDFA(H−FA:History Based DFA))、および
・ 履歴ベースのDFAにカウンターを追加し、認識した記号の数に基づく状態履歴を可能にすること(履歴ベース・カウンティングDFA(H−cFA:History based Counting DFA))、
がある。
Claims (38)
- データ処理システムにおいて第一入力ストリングを第一正規表現セットにマッチングするための装置であって、前記第一正規表現セットは第一アルファベットからの記号を含み、前記データ処理システムはネットワークを含み、前記装置は、
前記第一正規表現セットから第二アルファベットを設定するための解析コンポーネントと、
前記解析コンポーネントが前記第二アルファベットを設定するのに応じて、第二正規表現セットおよび第三正規表現セットを設定するための更新コンポーネントであって、前記第二正規表現セットは前記第一アルファベットからの記号を含み、前記第三正規表現セットは前記第二アルファベットからの記号を含む、前記更新コンポーネントと、
前記更新コンポーネントが前記第二正規表現セットおよび前記第三正規表現セットを設定するのに応じて、前記第二正規表現セットを第一状態マシンにコンパイルし、前記第三正規表現セットを第二状態マシンにコンパイルするためのコンパイラ・コンポーネントであって、前記第一状態マシンは少なくとも一つの第一条件付き最終状態を含み、前記第二状態マシンは少なくとも一つの第二条件付き最終状態を含み、各第一条件付き最終状態は少なくとも一つの第二条件付き最終状態に対応している、前記コンパイラ・コンポーネントと、
前記ネットワークから前記第一入力ストリングを受信するための入力コンポーネントであって、前記第一入力ストリングは前記第一アルファベットからの記号を含む、前記入力コンポーネントと、
前記入力コンポーネントが前記第一入力ストリングを受信するのに応じて、前記第一入力ストリングを第二入力ストリングに変換するための変換コンポーネントであって、前記第二入力ストリングは前記第二アルファベットからの記号を含む、前記変換コンポーネントと、
前記変換コンポーネントが前記第一入力ストリングを変換するのに応じて、前記第一入力ストリングを前記第一状態マシン中に、前記第二入力ストリングを前記第二状態マシン中に、相並行して入力するためのマシン・コンポーネントと、
前記マシン・コンポーネントが前記第一および第二入力ストリングを入力するのに応じて、前記第一条件付き最終状態を前記対応する第二条件付き最終状態と比較するための比較コンポーネントと、
前記第一条件付き最終状態と前記対応する第二条件付き最終状態とがマッチングするのに応じ、検証済み結果を提供するためのチェック・コンポーネントと、
を含む装置。 - 前記装置は、前記チェック・コンポーネントが複数の検証済み結果を提供するのに応じて、前記複数の検証済み結果を検証して、完全検証されたマッチを提供するための出力コンポーネントをさらに含む、請求項1に記載の装置。
- 前記第一アルファベットは複数の記号セットを含み、前記解析コンポーネントは、
前記記号セットの各々を一つ以上のマップ済み記号にマッピングし、
前記記号セットの各々をマッピングするのに応じて、前記第二アルファベットを設定する、
ようさらに作動し、前記第二アルファベットは前記マップ済み記号の各々を含む、先行の請求項のいずれかに記載の装置。 - 前記装置は、
前記第一正規表現セットを受信するための受信コンポーネントをさらに含み、
前記受信コンポーネントが前記第一正規表現セットを受信するのに応じて、前記解析コンポーネントは、前記第一正規表現セットを解析して前記第二アルファベットを設定するようさらに作動する、
先行の請求項のいずれかに記載の装置。 - 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは決定性である、先行の請求項のいずれかに記載の装置。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは、少なくとも一つの無条件の最終状態を含み、前記装置は、
前記少なくとも一つの無条件の最終状態を評定するようさらに作動する、前記比較コンポーネントと、
前記少なくとも一つの無条件の最終状態がアクティブであるのに応じ、検証済み結果を提供するための、前記チェック・コンポーネントと、
をさらに含む、先行の請求項のいずれかに記載の装置。 - データ処理システムにおいて第一入力ストリングを第一正規表現セットにマッチングさせる方法であって、前記第一正規表現セットは第一アルファベットからの記号を含み、前記データ処理システムはネットワークを含み、前記方法は、
前記第一正規表現セットから第二アルファベットを設定するステップと、
前記第二アルファベットを設定するのに応じて、第二正規表現セットおよび第三正規表現セットを設定するステップであって、前記第二正規表現セットは前記第一アルファベットからの記号を含み、前記第三正規表現セットは前記第二アルファベットからの記号を含む、前記設定するステップと、
前記第二正規表現セットおよび前記第三正規表現セットを設定するのに応じて、前記第二正規表現セットを第一状態マシンにコンパイルし、前記第三正規表現セットを第二状態マシンにコンパイルするステップあって、前記第一状態マシンは少なくとも一つの第一条件付き最終状態を含み、前記第二状態マシンは少なくとも一つの第二条件付き最終状態を含み、各第一条件付き最終状態は少なくとも一つの第二条件付き最終状態に対応している、前記コンパイルするステップと、
前記ネットワークから前記第一入力ストリングを受信するステップであって、前記第一入力ストリングは前記第一アルファベットからの記号を含む、前記受信するステップと、
前記第一入力ストリングを受信するのに応じて、前記第一入力ストリングを第二入力ストリングに変換するステップであって、前記第二入力ストリングは前記第二アルファベットからの記号を含む、前記変換するステップと、
前記第一入力ストリングを変換するのに応じて、前記第一入力ストリングを前記第一状態マシン中に、前記第二入力ストリングを前記第二状態マシン中に、相並行して入力するステップと、
前記第一および第二入力ストリングを入力するのに応じ、前記第一条件付き最終状態を前記対応する第二条件付き最終状態と比較するステップと、
前記第一条件付き最終状態と前記対応する第二条件付き最終状態とがマッチングするのに応じて、検証済み結果を提供するステップと、
を含む、方法。 - 前記方法は、複数の検証済み結果を提供するのに応じて、前記複数の検証済み結果を検証して、完全検証されたマッチを提供するステップをさらに含む、請求項7に記載の方法。
- 前記第一アルファベットは複数の記号セットを含み、前記方法は、
前記記号セットの各々を一つ以上のマップ済み記号にマッピングするステップと、
前記記号セットの各々をマッピングするのに応じ、前記第二アルファベットを設定するステップと、
をさらに含み、前記第二アルファベットは前記マップ済み記号の各々を含む、先行の請求項7または8のいずれかに記載の方法。 - 前記方法は、
前記第一正規表現セットを受信するステップと、
前記第一正規表現セットを受信するのに応じて、前記第一正規表現セットを解析して前記第二アルファベットを設定するステップと、
をさらに含む、請求項7〜9のいずれかに記載の方法。 - 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは決定性である、請求項7〜10のいずれかに記載の方法。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは、少なくとも一つの無条件の最終状態を含み、前記方法は、
前記少なくとも一つの無条件の最終状態を評定するステップと、
前記少なくとも一つの無条件の最終状態がアクティブであるのに応じ、検証済み結果を提供するステップと、
をさらに含む、請求項7〜11のいずれかに記載の方法。 - データ処理システムにおいて第一入力ストリングを第一正規表現セットにマッチングするためのコンピュータ・プログラム製品であって、前記第一正規表現セットは第一アルファベットからの記号を含み、前記データ処理システムはネットワークを含み、前記コンピュータ・プログラム製品は、
処理回路に可読で、請求項7〜12のいずれかに記載の方法を遂行するため前記処理回路による実行のための命令を格納している、コンピュータ可読記憶媒体を
含む、コンピュータ・プログラム製品。 - コンピュータ可読媒体に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたとき、請求項7〜12のいずれかの前記方法を遂行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
- 第一入力ストリングを第一正規表現セットにマッチングするためのデータ処理システムを含む装置であって、前記データ処理システムは、
プロセッサと、
コンピュータ・プログラムを格納するメモリと、
前記コンピュータ・プログラムを実行するよう構成されたプロセッサと、
を含み、前記コンピュータ・プログラムは、
前記第一正規表現セットの少なくとも2つの関係する記号を1つの一意的記号にマッピングするステップと、
前記第一入力ストリング中の前記少なくとも2つの関係する記号の各インスタンスを前記一意的記号で置き換えることによって第二入力ストリングを生成するステップと、
前記入力ストリング上の第一状態マシンおよび前記第二入力ストリング上の第二状態マシンを作動し、前記第一入力ストリングが前記第一正規表現セットとマッチするかどうかを判定するステップと、
を遂行するための命令を含む、装置。 - 前記第一状態マシンは少なくとも一つの第一条件付き最終状態を含み、前記第二状態マシンは少なくとも一つの第二条件付き最終状態を含み、各第一条件付き最終状態は少なくとも一つの第二条件付き最終状態に対応している、請求項15に記載の装置。
- 前記第一状態マシンがある条件付き最終状態にあり、前記第二状態マシンが対応する条件付き最終状態にあるときマッチとして判定される、請求項16に記載の装置。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは、少なくとも一つの無条件の最終状態をさらに含む、請求項17に記載の装置。
- ネットワークをさらに含み、前記データ処理システムは前記ネットワークを介して前記第一入力ストリングを受信する、請求項15〜18のいずれかに記載の装置。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは決定性である、請求項15〜19のいずれかに記載の装置。
- 前記第一入力ストリングおよび前記第二入力ストリングは、並行してそれぞれ前記第一状態マシンおよび第二状態マシンに入力される、請求項15〜20いずれかに記載の装置。
- 前記第二状態マシンは、前記第一正規表現セット中の前記少なくとも2つの関係する記号の各インスタンスを前記一意的記号で置き換えることによって生成された第二表現セットから構築される、請求項15〜21のいずれかに記載の装置。
- 前記第一状態マシンは、前記第一表現セットの少なくとも一つの表現を書き換えて、前記少なくとも一つの表現の状態の複雑性を低減することによって生成された第三表現セットから構築される、請求項22に記載の装置。
- 前記第一正規表現セットの正規表現が、閉包演算子、反復演算子、または任意演算子を含む場合、前記第一正規表現セットは、前記第一正規表現セットと等価であるが前記演算子を除去した前記第三正規表現セットで置き換えられる、請求項23に記載の装置。
- データ処理システムにおいて第一入力ストリングを第一正規表現セットにマッチングする方法であって、前記方法は、
前記データ処理システムによって、前記第一正規表現セット中に表現されたオーバーラップのない記号セットの最小セットを判定するステップと、
前記データ処理システムによって、前記オーバーラップのない記号セットを新規記号群にそれぞれマッピングするステップと、
前記データ処理システムによって、前記第一正規表現セットを書き換え、状態マシンの複雑性をもたらすコンポーネントを除去することにより、第二正規表現セットを生成するステップと、
前記データ処理システムによって、前記第一正規表現セットの表現中の記号セットを前記対応する新規記号群で置き換えることにより、第三正規表現セットを生成するステップと、
前記データ処理システムによって、前記第二正規表現セットから構築された第一状態マシンおよび前記第三正規表現セットから構築された第二状態マシンを用いて、前記第一入力ストリングが前記第一正規表現とマッチするかどうかを判定するステップと、
を含む方法。 - 前記第一正規表現セットの正規表現が、閉包演算子、反復演算子、または任意演算子を含む場合、前記書き換えるステップは、前記第一正規表現セットを、前記第一正規表現セットと等価であるが前記演算子を除去した前記第三正規表現で置き換えるステップを含む、請求項25に記載の方法。
- 前記オーバーラップのない記号セットの少なくとも一つは、少なくとも2つのアルファベット文字だけを含む、請求項25または26のいずれかに記載の方法。
- 前記オーバーラップのない記号セットの少なくとも一つは、少なくとも2つの数字だけを含む、請求項25〜27のいずれかに記載の方法。
- 前記第一入力ストリングが前記第一正規表現とマッチするかどうかを前記判定するステップは、
前記第一入力ストリングの表現中の記号セットを前記対応する新規記号で置き換えることによって第二入力ストリングを生成するステップと、
前記第一入力ストリング上で前記第一状態マシンを作動するステップと、
前記第二入力ストリング上で前記第二状態マシンを作動するステップと、
前記第一状態マシンおよび前記第二状態マシンの出力に基づいてマッチを判定するステップと、
を含む、請求項25〜28のいずれかに記載の方法。 - 前記マッチを判定するステップは、前記第一状態マシンにより出力された状態が最終状態で、前記第二状態マシンにより出力された状態が対応する最終状態であるとき、マッチを表示するステップを含む、請求項29に記載の方法。
- 前記マッチを判定するステップは、前記第一および第二状態マシンの一つにより出力された状態が初期状態のとき、非マッチを表示する、請求項29に記載の方法。
- 前記最終状態は条件付きかまたは無条件かのいずれかである、請求項30に記載の方法。
- 前記第一入力ストリングは、ネットワークを介し前記データ処理システムによって受信される、請求項25〜32のいずれかに記載の方法。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは決定性である、請求項25〜33のいずれかに記載の方法。
- 前記第一入力ストリングおよび前記第二入力ストリングは、並行してそれぞれ前記第一状態マシンおよび第二状態マシンに入力される、請求項25〜34のいずれかに記載の方法。
- 第一入力ストリングを第一正規表現セットにマッチングさせるためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、
内部に具現されたコンピュータ可読プログラム・コードを有するコンピュータ可読記憶媒体を含み、前記コンピュータ可読プログラム・コードは、
前記第一正規表現セットの少なくとも2つの関係する記号を1つの一意的記号にマップし、前記第一入力ストリング中の前記少なくとも2つの関係する記号の各インスタンスを前記一意的記号で置き換えることによって第二入力ストリングを生成し、前記入力ストリング上の第一状態マシンおよび前記第二入力ストリング上の第二状態マシンを作動して、前記第一入力ストリングが前記第一正規表現セットとマッチするかどうかを判定するよう構成されたコンピュータ可読プログラム・コードを含む、
コンピュータ・プログラム製品。 - 前記第一状態マシンは、前記第一正規表現セットを書き換えて、状態マシンの複雑性をもたらすコンポーネントを除去することによって生成された第二正規表現セットから構築され、前記第二状態マシンは、前記第一正規表現セットの表現中の前記少なくとも2つの関係する記号を前記一意的記号で置き換えることによって生成された第三正規表現セットから構築される、請求項36に記載のコンピュータ・プログラム製品。
- 前記第一状態マシンおよび前記第二状態マシンの少なくとも一つは決定性である、請求項37に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/763,510 | 2010-04-20 | ||
US12/763,510 US9305116B2 (en) | 2010-04-20 | 2010-04-20 | Dual DFA decomposition for large scale regular expression matching |
PCT/EP2011/052263 WO2011131384A1 (en) | 2010-04-20 | 2011-02-16 | A dual dfa decomposition for large scale regular expression matching |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013525892A true JP2013525892A (ja) | 2013-06-20 |
JP5579922B2 JP5579922B2 (ja) | 2014-08-27 |
Family
ID=44788997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013505370A Active JP5579922B2 (ja) | 2010-04-20 | 2011-02-16 | ラージ・スケール正規表現のマッチングのための二重dfa分解 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9305116B2 (ja) |
EP (1) | EP2561453B1 (ja) |
JP (1) | JP5579922B2 (ja) |
CN (1) | CN102844759B (ja) |
WO (1) | WO2011131384A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853301A (zh) * | 2010-05-25 | 2010-10-06 | 华为技术有限公司 | 正则表达式匹配的方法和系统 |
JP5554304B2 (ja) * | 2011-09-16 | 2014-07-23 | 株式会社東芝 | オートマトン決定化方法、オートマトン決定化装置およびオートマトン決定化プログラム |
WO2013137864A1 (en) | 2012-03-13 | 2013-09-19 | Hewlett-Packard Development Company, L.P. | Submatch extraction |
US9558299B2 (en) | 2012-04-30 | 2017-01-31 | Hewlett Packard Enterprise Development Lp | Submatch extraction |
US8725749B2 (en) | 2012-07-24 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Matching regular expressions including word boundary symbols |
US8793251B2 (en) | 2012-07-31 | 2014-07-29 | Hewlett-Packard Development Company, L.P. | Input partitioning and minimization for automaton implementations of capturing group regular expressions |
US9218372B2 (en) * | 2012-08-02 | 2015-12-22 | Sap Se | System and method of record matching in a database |
IN2015DN01932A (ja) * | 2012-09-28 | 2015-08-07 | Ericsson Telefon Ab L M | |
US9268881B2 (en) | 2012-10-19 | 2016-02-23 | Intel Corporation | Child state pre-fetch in NFAs |
US9117170B2 (en) | 2012-11-19 | 2015-08-25 | Intel Corporation | Complex NFA state matching method that matches input symbols against character classes (CCLs), and compares sequence CCLs in parallel |
US9665664B2 (en) * | 2012-11-26 | 2017-05-30 | Intel Corporation | DFA-NFA hybrid |
US9304768B2 (en) | 2012-12-18 | 2016-04-05 | Intel Corporation | Cache prefetch for deterministic finite automaton instructions |
US9268570B2 (en) | 2013-01-23 | 2016-02-23 | Intel Corporation | DFA compression and execution |
US9489215B2 (en) * | 2013-08-01 | 2016-11-08 | Dell Software Inc. | Managing an expression-based DFA construction process |
US10229104B2 (en) | 2013-08-01 | 2019-03-12 | Sonicwall Inc. | Efficient DFA generation for non-matching characters and character classes in regular expressions |
EP2909720A1 (en) * | 2014-01-13 | 2015-08-26 | Huawei Technologies Co., Ltd. | Method for pattern processing |
US10042654B2 (en) | 2014-06-10 | 2018-08-07 | International Business Machines Corporation | Computer-based distribution of large sets of regular expressions to a fixed number of state machine engines for products and services |
US10148547B2 (en) * | 2014-10-24 | 2018-12-04 | Tektronix, Inc. | Hardware trigger generation from a declarative protocol description |
CN105791045B (zh) * | 2014-12-26 | 2019-04-02 | 中国科学院声学研究所 | 一种面向并行数据流的深度包检测方法及系统 |
US10157165B2 (en) * | 2015-06-05 | 2018-12-18 | Micron Technology, Inc. | Methods and devices for reducing array size and complexity in automata processors |
US9875045B2 (en) * | 2015-07-27 | 2018-01-23 | International Business Machines Corporation | Regular expression matching with back-references using backtracking |
CN106855842B (zh) * | 2015-12-08 | 2020-12-29 | 中国航空工业第六一八研究所 | 一种基于正则表达式的程序静态分析方法 |
CN106933798B (zh) * | 2015-12-31 | 2020-09-08 | 北京城市网邻信息技术有限公司 | 信息分析的方法及装置 |
CN107153635A (zh) * | 2016-03-04 | 2017-09-12 | 《中国学术期刊(光盘版)》电子杂志社有限公司 | 一种自动提取论文引用内容及对应文后参考文献的方法和系统 |
CN107016091B (zh) * | 2017-04-06 | 2019-10-15 | 北京邮电大学 | 一种软件定义网络中正则表达式更新方法及装置 |
CN111819558A (zh) * | 2018-04-30 | 2020-10-23 | 慧与发展有限责任合伙企业 | 更新三元内容可寻址存储器中的正则表达式模式组 |
CN109408682B (zh) * | 2018-10-30 | 2021-03-23 | 杭州安恒信息技术股份有限公司 | 一种正则表达式匹配的方法、系统及设备 |
CN110865970B (zh) * | 2019-10-08 | 2021-06-29 | 西安交通大学 | 一种基于fpga平台的压缩流量模式匹配引擎及模式匹配方法 |
CN114168808A (zh) * | 2021-11-22 | 2022-03-11 | 中核核电运行管理有限公司 | 基于正则表达式的文档字符串编码识别方法及装置 |
CN115587564B (zh) * | 2022-10-17 | 2023-05-05 | 北京云枢创新软件技术有限公司 | 一种提取有限状态机中状态变化的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207912A (ja) * | 1996-11-21 | 1998-08-07 | Sharp Corp | 文字,文字列検索方法及び該方法に用いる記録媒体 |
JP2000231557A (ja) * | 1999-02-09 | 2000-08-22 | Atr Interpreting Telecommunications Res Lab | 言語特徴抽出装置 |
US20060085389A1 (en) * | 2004-08-26 | 2006-04-20 | Sensory Networks, Inc. | Method for transformation of regular expressions |
JP2009093391A (ja) * | 2007-10-09 | 2009-04-30 | Hitachi Ltd | Webサーバ連携方法、Webサーバ連携プログラム、および、Webサーバ連携システム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002220130A1 (en) | 2001-09-12 | 2003-03-24 | Raqia Networks, Inc. | High speed data stream pattern recognition |
US7689530B1 (en) * | 2003-01-10 | 2010-03-30 | Cisco Technology, Inc. | DFA sequential matching of regular expression with divergent states |
US7783997B1 (en) * | 2004-07-30 | 2010-08-24 | Synopsys, Inc. | Large scale finite state machines |
US8560475B2 (en) * | 2004-09-10 | 2013-10-15 | Cavium, Inc. | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process |
US7260558B1 (en) | 2004-10-25 | 2007-08-21 | Hi/Fn, Inc. | Simultaneously searching for a plurality of patterns definable by complex expressions, and efficiently generating data for such searching |
GB2422507A (en) * | 2005-01-21 | 2006-07-26 | 3Com Corp | An intrusion detection system using a plurality of finite state machines |
US7499941B2 (en) | 2005-09-05 | 2009-03-03 | Cisco Technology, Inc. | Pipeline regular expression matching |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US7725510B2 (en) | 2006-08-01 | 2010-05-25 | Alcatel-Lucent Usa Inc. | Method and system for multi-character multi-pattern pattern matching |
CN101174261B (zh) | 2006-11-03 | 2010-04-14 | 北京航空航天大学 | 基于扩展有限状态机的多正则表达式联合搜索方法 |
US8335757B2 (en) * | 2009-01-26 | 2012-12-18 | Microsoft Corporation | Extracting patterns from sequential data |
-
2010
- 2010-04-20 US US12/763,510 patent/US9305116B2/en not_active Expired - Fee Related
-
2011
- 2011-02-16 JP JP2013505370A patent/JP5579922B2/ja active Active
- 2011-02-16 CN CN201180019763.5A patent/CN102844759B/zh active Active
- 2011-02-16 WO PCT/EP2011/052263 patent/WO2011131384A1/en active Application Filing
- 2011-02-16 EP EP11707111.8A patent/EP2561453B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207912A (ja) * | 1996-11-21 | 1998-08-07 | Sharp Corp | 文字,文字列検索方法及び該方法に用いる記録媒体 |
JP2000231557A (ja) * | 1999-02-09 | 2000-08-22 | Atr Interpreting Telecommunications Res Lab | 言語特徴抽出装置 |
US20060085389A1 (en) * | 2004-08-26 | 2006-04-20 | Sensory Networks, Inc. | Method for transformation of regular expressions |
JP2009093391A (ja) * | 2007-10-09 | 2009-04-30 | Hitachi Ltd | Webサーバ連携方法、Webサーバ連携プログラム、および、Webサーバ連携システム |
Also Published As
Publication number | Publication date |
---|---|
JP5579922B2 (ja) | 2014-08-27 |
CN102844759B (zh) | 2016-08-17 |
US20110258210A1 (en) | 2011-10-20 |
CN102844759A (zh) | 2012-12-26 |
EP2561453A1 (en) | 2013-02-27 |
WO2011131384A1 (en) | 2011-10-27 |
EP2561453B1 (en) | 2013-12-25 |
US9305116B2 (en) | 2016-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5579922B2 (ja) | ラージ・スケール正規表現のマッチングのための二重dfa分解 | |
US10229104B2 (en) | Efficient DFA generation for non-matching characters and character classes in regular expressions | |
US9990583B2 (en) | Match engine for detection of multi-pattern rules | |
US20120221494A1 (en) | Regular expression pattern matching using keyword graphs | |
US10242365B2 (en) | Domain-specific hardwired eCommerce learning machine | |
WO2016114913A1 (en) | Code labeling based on tokenized code samples | |
US8392467B1 (en) | Directing searches on tree data structures | |
US20110153641A1 (en) | System and method for regular expression matching with multi-strings and intervals | |
Heule et al. | Expressing symmetry breaking in DRAT proofs | |
Nguyen et al. | Toward a deep learning approach for detecting php webshell | |
CN102141959A (zh) | 一种受上下文无关文法约束的测试用例生成方法 | |
Regéciová et al. | Pattern Matching in YARA: Improved Aho-Corasick Algorithm | |
WO2022100489A1 (en) | System, method and apparatus for malicious software detection | |
JP6984761B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20100205411A1 (en) | Handling complex regex patterns storage-efficiently using the local result processor | |
US9910889B2 (en) | Rapid searching and matching of data to a dynamic set of signatures facilitating parallel processing and hardware acceleration | |
JP6750674B2 (ja) | プログラム分析システム、プログラム分析方法、及び、コンピュータ・プログラム | |
Van Hung | An approach to fast malware classification with machine learning technique | |
Soewito et al. | Hybrid pattern matching for trusted intrusion detection | |
Chitrakar et al. | CRBP-OpType: A constrained approximate search algorithm for detecting similar attack patterns | |
JP7424393B2 (ja) | 推定システム、推定方法及び推定プログラム | |
WO2023162047A1 (ja) | 生成装置、生成方法および生成プログラム | |
Van Litsenborgh | An investigation into performance-related issues of regular expression matching | |
WO2022081122A1 (en) | Indexing software packages and detecting malicious or potentially harmful code using api-call n-grams | |
Jha et al. | Regular Expression Simulator: Regular Expression to String Generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140516 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140624 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5579922 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |