[發明專利]一種正則表達式生成方法、裝置、介質及設備有效
| 申請號: | 202111484491.8 | 申請日: | 2021-12-07 |
| 公開(公告)號: | CN114385868B | 公開(公告)日: | 2022-09-30 |
| 發明(設計)人: | 鄔聞;黃桂泉;劉兆華;梁天舫 | 申請(專利權)人: | 廣東宜通衡睿科技有限公司 |
| 主分類號: | G06F16/903 | 分類號: | G06F16/903 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 麥小嬋;郝傳鑫 |
| 地址: | 510000 廣東省廣州市天河區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 正則 表達式 生成 方法 裝置 介質 設備 | ||
本發明公開了一種正則表達式生成方法、裝置、介質及設備,包括:獲取待處理字符串,并獲取待處理字符串的原始正則表達式;響應于用戶的子串選擇指令,獲取待處理字符串的若干待選擇子串;將若干待選擇子串中的第一個待選擇子串作為選擇子串,對待處理字符串進行分割處理,獲得第一子串、第二子串及選擇子串;響應于用戶的子串類型選擇指令,獲取選擇子串的類型,并根據選擇子串的類型,獲取對應的待拼接正則表達式生成策略,以根據待拼接正則表達式生成策略得到待拼接正則表達式;將原始正則表達式和待拼接正則表達式依次進行拼接,得到待處理字符串的最終正則表達式。采用本發明實施例能夠減少出現誤匹配的情況,提高匹配準確率。
技術領域
本發明涉及計算機技術領域,尤其涉及一種正則表達式生成方法、裝置、介質及設備。
背景技術
在現有的數據提取技術,利用正則表達式提取是較為常用的方式。一般可以通過正則表達式生成工具如Txt2re來生成正則表達式,但其對結構相近的字符串容易造成誤匹配,使得準確率較低。
發明內容
本發明提供一種正則表達式生成方法、裝置、介質及設備,以解決現有技術對結構相近的字符串容易造成誤匹配的問題,本發明通過增加選擇子串的類型選擇,能夠減少出現誤匹配的情況,提高匹配的準確率,并減少性能消耗。
為實現上述目的,本發明實施例提供了一種正則表達式生成方法,包括:
獲取待處理字符串,并獲取所述待處理字符串的原始正則表達式;
響應于用戶的子串選擇指令,獲取所述待處理字符串的若干待選擇子串;
將若干所述待選擇子串中的第一個所述待選擇子串作為選擇子串,并以所述選擇子串為界,對所述待處理字符串進行分割處理,獲得在所述待處理字符串中的所述選擇子串之前的第一子串、所述選擇子串之后的第二子串,及所述選擇子串;
響應于用戶的子串類型選擇指令,獲取所述選擇子串的類型,并根據所述選擇子串的類型,獲取對應的待拼接正則表達式生成策略,以根據所述待拼接正則表達式生成策略得到待拼接正則表達式;其中,所述選擇子串的類型包括期望獲取子串及非期望獲取子串;
將所述原始正則表達式和所述待拼接正則表達式依次進行拼接,得到所述待處理字符串的最終正則表達式。
作為上述方案的改進,當所述選擇子串的類型為所述非期望獲取子串時,所述待拼接正則表達式生成策略包括:
判斷所述第一子串是否為空,若是,將所述選擇子串作為待拼接正則表達式,否則,根據預設的第一規則生成待拼接正則表達式。
作為上述方案的改進,所述根據預設的第一規則生成待拼接正則表達式,包括:
獲取所述第一子串中的尾字符,將所述尾字符作為第一分隔符,計算所述第一分隔符在所述第一子串中出現的次數n;
將非所述第一分隔符的通配符與所述第一分隔符作為第三子串,獲取限定n次的所述第三子串,以將限定n次的所述第三子串作為待拼接正則表達式。
作為上述方案的改進,當所述選擇子串的類型為所述期望獲取子串時,所述待拼接正則表達式生成策略包括:
獲取所述第二子串的首字符,并將所述首字符作為第二分隔符;
判斷所述選擇子串中是否包含所述第二分隔符,若否,將非所述第二分隔符的通配符和第二分隔符依次進行拼接,得到第一拼接子串,以將所述第一拼接子串作為待拼接正則表達式,否則,根據預設的第二規則生成待拼接正則表達式。
作為上述方案的改進,所述根據預設的第二規則生成待拼接正則表達式,包括:
計算所述第二分隔符在所述選擇子串中出現的次數i;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東宜通衡睿科技有限公司,未經廣東宜通衡睿科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111484491.8/2.html,轉載請聲明來源鉆瓜專利網。





