[發明專利]一種正則表達式生成方法、裝置、介質及設備有效
| 申請號: | 202111484491.8 | 申請日: | 2021-12-07 |
| 公開(公告)號: | CN114385868B | 公開(公告)日: | 2022-09-30 |
| 發明(設計)人: | 鄔聞;黃桂泉;劉兆華;梁天舫 | 申請(專利權)人: | 廣東宜通衡睿科技有限公司 |
| 主分類號: | G06F16/903 | 分類號: | G06F16/903 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 麥小嬋;郝傳鑫 |
| 地址: | 510000 廣東省廣州市天河區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 正則 表達式 生成 方法 裝置 介質 設備 | ||
1.一種正則表達式生成方法,其特征在于,包括:
獲取待處理字符串,并獲取所述待處理字符串的原始正則表達式;
響應于用戶的子串選擇指令,獲取所述待處理字符串的若干待選擇子串;
將若干所述待選擇子串中的第一個所述待選擇子串作為選擇子串,并以所述選擇子串為界,對所述待處理字符串進行分割處理,獲得在所述待處理字符串中的所述選擇子串之前的第一子串、所述選擇子串之后的第二子串,及所述選擇子串;
響應于用戶的子串類型選擇指令,獲取所述選擇子串的類型,并根據所述選擇子串的類型,獲取對應的待拼接正則表達式生成策略,以根據所述待拼接正則表達式生成策略得到待拼接正則表達式;其中,所述選擇子串的類型包括:期望獲取子串及非期望獲取子串;
將所述原始正則表達式和所述待拼接正則表達式依次進行拼接,得到所述待處理字符串的最終正則表達式;
其中,當所述選擇子串的類型為所述非期望獲取子串時,所述待拼接正則表達式生成策略包括:
判斷所述第一子串是否為空,若是,將所述選擇子串作為待拼接正則表達式,否則,根據預設的第一規則生成待拼接正則表達式;
當所述選擇子串的類型為所述期望獲取子串時,所述待拼接正則表達式生成策略包括:
獲取所述第二子串的首字符,并將所述首字符作為第二分隔符;
判斷所述選擇子串中是否包含所述第二分隔符,若否,將非所述第二分隔符的通配符和第二分隔符依次進行拼接,得到第一拼接子串,以將所述第一拼接子串作為待拼接正則表達式,否則,根據預設的第二規則生成待拼接正則表達式;
所述根據預設的第一規則生成待拼接正則表達式,包括:
獲取所述第一子串中的尾字符,將所述尾字符作為第一分隔符,計算所述第一分隔符在所述第一子串中出現的次數n;
將非所述第一分隔符的通配符與所述第一分隔符作為第三子串,獲取限定n次的所述第三子串,以將限定n次的所述第三子串作為待拼接正則表達式;
所述根據預設的第二規則生成待拼接正則表達式,包括:
計算所述第二分隔符在所述選擇子串中出現的次數i;
將非所述第二分隔符的通配符與所述第二分隔符作為第四子串,獲取限定i次的所述第四子串,將限定i次的所述第四子串與所述第二分隔符依次進行拼接,得到第二拼接子串,以將所述第二拼接子串作為待拼接正則表達式。
2.如權利要求1所述的正則表達式生成方法,其特征在于,在將所述原始正則表達式和所述待拼接正則表達式依次進行拼接,得到所述待處理字符串的最終正則表達式之后,還包括:
判斷所述第二子串是否還包含任一所述待選擇子串,若是,將所述第二子串作為所述待處理字符串,以對所述第二子串進行下一次迭代處理,否則,輸出所述最終正則表達式。
3.如權利要求1所述的正則表達式生成方法,其特征在于,所述獲取待處理字符串,并獲取所述待處理字符串的原始正則表達式,包括:
獲取待處理字符串,并判斷所述待處理字符串的類型;
當判斷到所述待處理字符串為初始輸入的待處理字符串時,所述待處理字符串的原始正則表達式為空;
當判斷到所述待處理字符串為經過迭代處理的待處理字符串時,所述待處理字符串的原始正則表達式為所述最終正則表達式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東宜通衡睿科技有限公司,未經廣東宜通衡睿科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111484491.8/1.html,轉載請聲明來源鉆瓜專利網。





