[發(fā)明專利]一種利用正則表達(dá)式的匹配方法、裝置及設(shè)備有效
| 申請?zhí)枺?/td> | 201810290338.3 | 申請日: | 2018-04-03 |
| 公開(公告)號: | CN108681554B | 公開(公告)日: | 2021-08-24 |
| 發(fā)明(設(shè)計)人: | 溫悅 | 申請(專利權(quán))人: | 創(chuàng)新先進(jìn)技術(shù)有限公司 |
| 主分類號: | G06F16/33 | 分類號: | G06F16/33 |
| 代理公司: | 北京晉德允升知識產(chǎn)權(quán)代理有限公司 11623 | 代理人: | 楊移 |
| 地址: | 開曼群島大開曼島*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 利用 正則 表達(dá)式 匹配 方法 裝置 設(shè)備 | ||
1.一種利用正則表達(dá)式的匹配方法,包括:
確定各第一正則表達(dá)式;
將各第一正則表達(dá)式進(jìn)行組合,得到至少一個第二正則表達(dá)式,所述第二正則表達(dá)式的數(shù)量小于第一正則表達(dá)式的數(shù)量;
將各第二正則表達(dá)式編譯為有限自動機(jī),在所述第二正則表達(dá)式的編譯過程中合并該有限自動機(jī)中重復(fù)的節(jié)點(diǎn);
采用所述有限自動機(jī)對待匹配文本進(jìn)行匹配,得到結(jié)果。
2.如權(quán)利要求1所述的方法,將各第一正則表達(dá)式進(jìn)行組合,得到至少一個第二正則表達(dá)式,具體包括:
將各第一正則表達(dá)式以任意順序連接,每兩個相鄰的第一正則表達(dá)式之間通過指定的連接字符相連,得到第二正則表達(dá)式。
3.如權(quán)利要求1或2所述的方法,各第一正則表達(dá)式是所述第二正則表達(dá)式的子表達(dá)式;
將各第二正則表達(dá)式編譯為有限自動機(jī)之前,所述方法還包括:
針對每個第二正則表達(dá)式,為該第二正則表達(dá)式中的每個子表達(dá)式設(shè)置一一對應(yīng)的標(biāo)識。
4.如權(quán)利要求3所述的方法,所述標(biāo)識包括捕獲組;
所述有限自動機(jī)的每個最終的接受狀態(tài)與至少一個所述捕獲組對應(yīng)。
5.如權(quán)利要求4所述的方法,所述方法還包括:
根據(jù)所述有限自動機(jī)匹配出所述結(jié)果時的最終的接受狀態(tài)對應(yīng)的捕獲組,確定匹配出所述結(jié)果的第一正則表達(dá)式。
6.如權(quán)利要求1所述的方法,將各第二正則表達(dá)式編譯為有限自動機(jī),具體包括:
采用湯普森構(gòu)造算法將所述第二正則表達(dá)式編譯為非確定性有限自動機(jī)NFA,并合并所述NFA中重復(fù)的節(jié)點(diǎn);或
采用Powersetconstruction算法將所述第二正則表達(dá)式編譯為確定性有限自動機(jī)DFA,并合并所述DFA中重復(fù)的節(jié)點(diǎn)。
7.一種利用正則表達(dá)式的匹配裝置,包括:
確定模塊,確定各第一正則表達(dá)式;
組合模塊,將各第一正則表達(dá)式進(jìn)行組合,得到至少一個第二正則表達(dá)式,所述第二正則表達(dá)式的數(shù)量小于第一正則表達(dá)式的數(shù)量;
編譯模塊,將各第二正則表達(dá)式編譯為有限自動機(jī),在所述第二正則表達(dá)式的編譯過程中合并該有限自動機(jī)中重復(fù)的節(jié)點(diǎn);
匹配模塊,采用所述有限自動機(jī)對待匹配文本進(jìn)行匹配,得到結(jié)果。
8.如權(quán)利要求7所述的裝置,所述組合模塊具體用于,將各第一正則表達(dá)式以任意順序連接,每兩個相鄰的第一正則表達(dá)式之間通過指定的連接字符相連,得到第二正則表達(dá)式。
9.如權(quán)利要求7或8所述的裝置,各第一正則表達(dá)式是所述第二正則表達(dá)式的子表達(dá)式;
所述裝置還包括:
設(shè)置模塊,針對每個第二正則表達(dá)式,為該第二正則表達(dá)式中的每個子表達(dá)式設(shè)置一一對應(yīng)的標(biāo)識。
10.如權(quán)利要求9所述的裝置,所述標(biāo)識包括捕獲組;
所述有限自動機(jī)的每個最終的接受狀態(tài)與至少一個所述捕獲組對應(yīng)。
11.如權(quán)利要求10所述的裝置,所述匹配模塊還用于,根據(jù)所述有限自動機(jī)匹配出所述結(jié)果時的最終的接受狀態(tài)對應(yīng)的捕獲組,確定匹配出所述結(jié)果的第一正則表達(dá)式。
12.如權(quán)利要求7所述的裝置,所述編譯模塊具體用于,采用湯普森構(gòu)造算法將所述第二正則表達(dá)式編譯為非確定性有限自動機(jī)NFA,并合并所述NFA中重復(fù)的節(jié)點(diǎn);或,采用Powersetconstruction算法將所述第二正則表達(dá)式編譯為確定性有限自動機(jī)DFA,并合并所述DFA中重復(fù)的節(jié)點(diǎn)。
13.一種利用正則表達(dá)式的匹配設(shè)備,所述設(shè)備包括一個或多個存儲器以及處理器,所述存儲器存儲程序,并且被配置成由所述一個或多個處理器執(zhí)行以下步驟:
確定各第一正則表達(dá)式;
將各第一正則表達(dá)式進(jìn)行組合,得到至少一個第二正則表達(dá)式,所述第二正則表達(dá)式的數(shù)量小于第一正則表達(dá)式的數(shù)量;
將各第二正則表達(dá)式編譯為有限自動機(jī),在所述第二正則表達(dá)式的編譯過程中合并該有限自動機(jī)中重復(fù)的節(jié)點(diǎn);
采用所述有限自動機(jī)對待匹配文本進(jìn)行匹配,得到結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于創(chuàng)新先進(jìn)技術(shù)有限公司,未經(jīng)創(chuàng)新先進(jìn)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810290338.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





