JP4565064B2 - 高速マッチング法 - Google Patents
高速マッチング法 Download PDFInfo
- Publication number
- JP4565064B2 JP4565064B2 JP2003428585A JP2003428585A JP4565064B2 JP 4565064 B2 JP4565064 B2 JP 4565064B2 JP 2003428585 A JP2003428585 A JP 2003428585A JP 2003428585 A JP2003428585 A JP 2003428585A JP 4565064 B2 JP4565064 B2 JP 4565064B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- character
- character string
- text
- skip table
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Yuebin Bai, Hidetsune Kobayashi: "New String Matching Technology for Network Security", Proceedings of 17th International Conference on Advanced Information Networking and Applications(AINA'03), Mrch 27-29, 2003, Xi'an, China, pp.198-201.
(s*ring,112111), (st*ing,111211), (str*ng,111121), (stri*g,111112),
(strin*,111111), (**ring,113111), (s**ing,111311), (st**ng,111131),
(str**g,111113), (stri**,111111), (s*r*ng,112121), (s*r**g,112113)
となる。
あればステップ23で、最右のワイルドカードより右かどうか調べる。最右のワイルドカードより左ならば、ステップ25で、ワイルドカードシフト量を登録する。最右のワイルドカードより右ならば、スキップテーブルにシフト量を登録する。ステップ26で、使用文字セット終了かどうか調べ、終了でなければステップ21に戻り、次の使用文字について処理を行う。
"stringstryzgsearchstringsfindstrings"
の中から検索文字列"str**gs"をすべて検索する場合を考える。使用文字セットはアルファベット小文字とする。スキップテーブルnext[]は、
next['a']←3 next['b']←3 next['c']←3 next['d']←3 next['e']←3
next['f']←3 next['g']←2 next['h']←3 next['i']←3 next['j']←3
next['k']←3 next['l']←3 next['m']←3 next['n']←3 next['o']←3
next['p']←3 next['q']←3 next['r']←3 next['s']←1 next['t']←3
next['u']←3 next['v']←3 next['w']←3 next['x']←3 next['y']←3
next['z']←3
となる。
2 使用文字セット記憶部
3 テキスト記憶部
4 検索文字列記憶部
5 スキップテーブル作成部
6 スキップテーブル記憶部
7 文字列検索部
8 検索結果記憶部
9 出力装置
10 文字列検索部
Claims (1)
- 各種データとコマンドなどを入力する入力装置と、前記入力装置から入力した使用文字セットを格納しておく使用文字セット記憶部と、前記入力装置から入力した検索対象テキストを格納しておくテキスト記憶部と、特定文字であるワイルドカードを含む検索文字列を前記入力装置から入力して格納しておく検索文字列記憶部と、前記使用文字セットと前記検索対象テキストと前記検索文字列を参照しながらスキップテーブルを作成するスキップテーブル作成部と、前記スキップテーブルを格納しておくスキップテーブル記憶部と、前記スキップテーブルを参照して減分幅を変えながら前記検索対象テキストから前記検索文字列をサーチする文字列検索部と、前記検索文字列に一致するテキストの部分文字列の位置を格納しておく検索結果記憶部と、検索結果を出力する出力装置とを具備する文字列検索装置において実行する高速マッチング法であって、前記使用文字セット記憶部に前記使用文字セットを格納し、前記スキップテーブル作成部で、前記使用文字セットから検査文字として1文字を取り出し、当該検査文字が前記検索文字列にあるかどうかを調べ、当該検査文字が前記検索文字列にないか、あっても前記検索文字列中の最右のワイルドカードより右でなければ、前記検索文字列中における最右のワイルドカードが右端から何番目の位置にあるかという順序数を当該検査文字に対応するシフト量として前記スキップテーブルに登録し、当該検査文字が前記検索文字列中における最右のワイルドカードより右にあれば、前記検索文字列中における当該検査文字が右端から何番目の位置にあるかという順序数を当該検査文字に対応するシフト量として前記スキップテーブルに登録し、この処理を前記使用文字セットが終了するまで繰り返し、前記使用文字セットが終了すれば前記スキップテーブルの完成とし、前記文字列検索部で、前記検索対象テキストの先頭にあって前記検索文字列と同数である文字列を最初の比較部分文字列とし、前記比較部分文字列の次にポインタを設定し、前記ワイルドカードをスキップしながら前記比較部分文字列と前記検索文字列を比較し、前記比較部分文字列と前記検索文字列の対応する位置の文字がすべて一致したら検索文字列発見とし、不一致の文字があって前記検索対象テキスト文字の終了でなければ、前記検索対象テキスト中の前記ポインタの指す文字で前記スキップテーブルを引いてシフト量を得て、前記比較部分文字列の位置を前記シフト量だけシフトして前記ポインタを新しい比較部分文字列の次に設定するように更新して、前記検索対象テキストの文字が終了するまで繰り返すことを特徴とする高速マッチング法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003428585A JP4565064B2 (ja) | 2003-12-25 | 2003-12-25 | 高速マッチング法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003428585A JP4565064B2 (ja) | 2003-12-25 | 2003-12-25 | 高速マッチング法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005190032A JP2005190032A (ja) | 2005-07-14 |
JP4565064B2 true JP4565064B2 (ja) | 2010-10-20 |
Family
ID=34787500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003428585A Expired - Fee Related JP4565064B2 (ja) | 2003-12-25 | 2003-12-25 | 高速マッチング法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4565064B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9825841B2 (en) | 2012-06-29 | 2017-11-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and network server for detecting data patterns in an input data stream |
US9870502B2 (en) | 2012-09-28 | 2018-01-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus for, a method of, and a network server for detecting data patterns in a data stream |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5523191B2 (ja) | 2010-04-30 | 2014-06-18 | 株式会社ジャパンディスプレイ | タッチ検出機能付き表示装置 |
CN112733524A (zh) * | 2020-12-31 | 2021-04-30 | 浙江省方大标准信息有限公司 | 标准编号自动校正及标准状态批量核查方法、***、装置 |
-
2003
- 2003-12-25 JP JP2003428585A patent/JP4565064B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9825841B2 (en) | 2012-06-29 | 2017-11-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and network server for detecting data patterns in an input data stream |
US9870502B2 (en) | 2012-09-28 | 2018-01-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus for, a method of, and a network server for detecting data patterns in a data stream |
Also Published As
Publication number | Publication date |
---|---|
JP2005190032A (ja) | 2005-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2683870B2 (ja) | 文字列検索システム及び方法 | |
US10552699B2 (en) | Robust string text detection for industrial optical character recognition | |
US7240048B2 (en) | System and method of parallel pattern matching | |
JP3689455B2 (ja) | 情報処理方法及び装置 | |
JP2726568B2 (ja) | 文字認識方法及び装置 | |
US8032479B2 (en) | String matching system and program therefor | |
US8095526B2 (en) | Efficient retrieval of variable-length character string data | |
US20140372477A1 (en) | Conditional string search | |
JP2005025763A (ja) | 構造化文書の分割プログラム、分割装置、及び分割方法 | |
CN106959962B (zh) | 一种多模式字符串匹配方法和装置 | |
JP3480404B2 (ja) | 単語大分類装置及びその単語大分類方法並びにその制御プログラムを記録した記録媒体 | |
EP2093700A2 (en) | Pattern recognition method, and storage medium which stores pattern recognition program | |
Clifford et al. | Dictionary matching in a stream | |
US8701162B1 (en) | Method and system for detecting and countering malware in a computer | |
JP4565064B2 (ja) | 高速マッチング法 | |
KR100959244B1 (ko) | 계층화된 시프트 테이블을 이용한 고속의 문자열 패턴 탐지방법 | |
US9690873B2 (en) | System and method for bit-map based keyword spotting in communication traffic | |
US7548652B1 (en) | Rapid comparison of similar data strings | |
JP2022103676A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP3852757B2 (ja) | 文字列照合方法、これを用いた文書処理装置及びプログラム | |
KR101245631B1 (ko) | 근사조합장치, 근사조합방법, 프로그램 및 기록매체 | |
CN115525801A (zh) | 网络安全***的模式匹配算法 | |
KR102146625B1 (ko) | 오토마타 기반 증분적 중위 확률 계산 장치 및 방법 | |
JP7172343B2 (ja) | 文書検索用プログラム | |
Zhang | An improved Wu-Manber multiple patterns matching algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100419 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |