CN113656538A - 生成正则表达式的方法、装置、计算设备及存储介质 - Google Patents
生成正则表达式的方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113656538A CN113656538A CN202110779337.7A CN202110779337A CN113656538A CN 113656538 A CN113656538 A CN 113656538A CN 202110779337 A CN202110779337 A CN 202110779337A CN 113656538 A CN113656538 A CN 113656538A
- Authority
- CN
- China
- Prior art keywords
- regular expression
- search result
- word segmentation
- result
- generating
- 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.)
- Pending
Links
- 230000014509 gene expression Effects 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000011218 segmentation Effects 0.000 claims abstract description 107
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于计算机技术领域,提供一种生成正则表达式的方法、装置、计算设备及存储介质,所述方法包括:获取文本内容;对所述文本内容进行分词,得到分词结果;根据所述分词结果在预设数据库中搜索,获得搜索结果;若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式;若所述搜索结果不满足预设条件,则根据所述分词结果生成正则表达式并输出。本申请的实施例能降低获取正则表达式的成本。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种生成正则表达式的方法、装置、计算设备及存储介质。
背景技术
正则表达式为程序代码,通常被用来检索、替换那些符合某个模式(规则)的文本。用户通常采用搜索引擎搜索代码片段的方式获取成品的正则表达式,这些存在于网络的代码片段不仅分散且可靠性差,导致用户获取正则表达式的成本很高。
发明内容
本申请的实施例提供一种生成正则表达式的方法、装置、计算设备及存储介质,能降低获取正则表达式的成本。
第一方面,本申请的实施例提供一种生成正则表达式的方法,应用于服务器,所述方法包括:
获取文本内容;
对所述文本内容进行分词,得到分词结果;
根据所述分词结果在预设数据库中搜索,获得搜索结果;
若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式;
若所述搜索结果不满足预设条件,则根据所述分词结果生成正则表达式并输出。
在第一方面的一种可能的实现方式中,所述根据所述分词结果在预设数据库中搜索,获得搜索结果,包括:
从所述分词结果提取关键字;
根据所述关键字在预设数据库中搜索,获得搜索结果。
在第一方面的一种可能的实现方式中,所述从所述分词结果提取关键字,包括:
将所述分词结果与预设词库进行比对,得到比对结果;
根据所述比对结果确定关键字。
在第一方面的一种可能的实现方式中,所述若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式,包括:
计算所述搜索结果的权重;
若所述权重大于设定值,则输出与所述搜索结果对应的正则表达式。
在第一方面的一种可能的实现方式中,所述预设数据库包括第一文档和第二文档;
相应的,所述根据所述关键字在预设数据库中搜索,获得搜索结果,包括:
将所述关键字与所述第一文档的数据进行匹配,得到搜索结果;
相应的,所述若所述权重大于设定值,则输出与所述搜索结果对应的正则表达式,包括:
若所述权重大于设定值,则从所述第二文档选取与所述搜索结果对应的正则表达式并输出。
在第一方面的一种可能的实现方式中,所述根据所述分词结果生成正则表达式并输出,包括:
根据所述分词结果在所述预设数据库中搜索,获得多个代码片段;
根据所述多个代码片段生成正则表达式并输出。
在第一方面的一种可能的实现方式中,所述获取文本内容,包括:
接收描述信息;
从所述描述信息提取文本内容。
第二方面,本申请的实施例还提供一种生成正则表达式的方法,应用于客户终端设备,所述方法包括:
向服务器发送描述信息;
所述描述信息用于使所述服务器从所述描述信息获取文本内容并对所述文本内容进行分词,得到分词结果;
所述分词结果用于使所述服务器根据所述分词结果在预设数据库中搜索,获得搜索结果;
从所述服务器接收正则表达式;所述正则表达式与所述搜索结果对应,且是所述搜索结果满足预设条件时所述服务器输出的;或者,所述正则表达式是所述搜索结果不满足预设条件时,所述服务器根据所述分词结果生成的。
第三方面,本申请的实施例提供一种生成正则表达式的装置,所述装置包括:
文本获取模块,用于:获取文本内容;
分词模块,用于:对所述文本内容进行分词,得到分词结果;
搜索模块,用于:根据所述分词结果在预设数据库中搜索,获得搜索结果;
结果处理模块,用于:若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式;若所述搜索结果不满足预设条件,则根据所述分词结果生成正则表达式并输出。
第四方面,本申请的实施例提供一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法。
第五方面,本申请的实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
第六方面,本申请的实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
本申请的实施例与现有技术相比存在的有益效果是:
本申请实施例中,对获取到的文本内容进行分词,得到分词结果;根据分词结果在预设数据库中搜索,获得搜索结果;若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出。如此,可根据获取到的文本内容快速生成正则表达式,能降低获取正则表达式的成本。
本申请的实施例的一些可能的实现方式具有如下有益效果:
对获取到的文本内容进行分词,得到分词结果;从分词结果提取关键字,然后根据关键字在预设数据库中搜索,获得搜索结果;若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出;如此,可根据获取到的文本内容生成优质的正则表达式;
对获取到的文本内容进行分词,得到分词结果;将分词结果与预设词库进行比对,得到比对结果;根据比对结果确定关键字,然后根据关键字在预设数据库中搜索,获得搜索结果;若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出;如此,能进一步提高获取正则表达式的速度。
附图说明
为了更清楚地说明本申请的实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的生成正则表达式的系统的信息交互图;
图2是本申请一实施例提供的生成正则表达式的方法的流程示意图;
图3是本申请一实施例提供的生成正则表达式的方法的步骤A3的流程示意图;
图4是本申请一实施例提供的生成正则表达式的方法的步骤A31的流程示意图;
图5是本申请一实施例提供的生成正则表达式的装置的结构示意图;
图6是本申请一实施例提供的搜索模块的结构示意图;
图7是本申请一实施例提供的关键字提取子模块的结构示意图;
图8是本申请一实施例提供的结果处理模块的结构示意图;
图9是本申请一实施例提供的结果处理模块的一种变型方式的结构示意图;
图10是本申请一实施例提供的文本获取模块的结构示意图;
图11是本申请一实施例提供的计算设备的结构示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图1至11及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请的实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1示出本实施例提供的生成正则表达式的系统的信息交互图,该系统包括客户终端设备10和服务器20。客户终端设备10可以是个人计算机。
相应的,本实施例提供一种生成正则表达式的方法,该方法的一种表现形式为软件。参考图1,该方法包括步骤A1至步骤A4以及步骤B1至步骤B2;其中,图2是本实施例提供的生成正则表达式的方法的流程示意图,步骤A1至步骤A4由服务器20执行;步骤B1至步骤B2则由客户终端设备10执行。
步骤B1、向服务器发送描述信息。
客户终端设备10运行有客户端,客户端可以是访问互联网的个人计算机软件或手机APP(Application,应用程序)。用户将描述信息输入进客户端的指定输入框内,比如将描述信息输入移动端文本输入框或web应用的输入框,其中,该描述信息是关于要生成的正则表达式的描述,具体可以是文本信息或者语音信息。客户端获取用户输入的描述信息,向服务器20发送该描述信息,具体可以是通过HTTP(Hypertext Transfer Protocol,超文本传输协议)REST请求将用户输入的描述信息发送给服务器20。
相应的,服务器执行步骤A1。
步骤A1、获取文本内容。
服务器20从客户终端设备10接收描述信息,然后对该描述信息进行处理,比如进行语义分析,从而获取到文本内容,该文本内容是描述要生成的正则表达式(或者称为正则代码)的文本。对于描述信息为文本信息的情况,服务器20对该文本信息进行识别,从中提取文本内容。对于描述信息为语音信息的情况,服务器20对该语音信息进行翻译,得到翻译结果,然后对翻译结果进行识别,从中提取文本内容。
在其他一些实施例中,用户在客户终端设备10输入的描述信息就是文本内容,如此,服务器20直接从客户终端设备10接收文本内容即可。
步骤A2、对文本内容进行分词,得到分词结果。
服务器20获取到文本内容之后,对文本内容进行分词。在一些实施例中,文本内容为“想要选中所有注释”,服务器20则通过分词引擎将该文本内容分词成为“想要”、“选中”、“所有”和“注释”,分词引擎可以使用java平台现有的ansj(一种分词工具)或者word之类的插件进行自动分词,把用户输入的一段信息分割成分词数组,得到分词结果。应当理解,用户输入的描述信息用于使服务器20从描述信息获取文本内容并对文本内容进行分词,得到分词结果。
步骤A3、根据分词结果在预设数据库中搜索,获得搜索结果。
服务器20在获取到分词结果之后,根据该分词结果在预设数据库中进行搜索,从而获取与分词结果对应的搜索结果。也就是说,分词结果用于使服务器20根据分词结果在预设数据库中搜索,获得搜索结果。图3是本申请一实施例提供的生成正则表达式的方法的步骤A3的流程示意图,在一些实施例中,步骤A3(根据分词结果在预设数据库中搜索,获得搜索结果)包括步骤A31和步骤A32。
步骤A31、从分词结果提取关键字。
分词结果中可能会含有无效词或者干扰词,因此,需要对分词结果进行处理,以从中提取关键字。其中,关键字是用于生成正则表达式的有效词。这样,能避免分词结果对搜索和生成结果造成干扰,使得搜索和生成结果更加精确。
图4是本申请一实施例提供的生成正则表达式的方法的步骤A31的流程示意图,在一些实施例中,步骤A31包括步骤A311和步骤A312。
步骤A311、将分词结果与预设词库进行比对,得到比对结果。
服务器20设有预设词库(也可以称为关键字词库),该预设词库是服务器自定义的词库文件。预设词库中包含所有可以被检索的关键字。在获得分词结果之后,将分词结果与预设词库进行比对,具体是将预设词库的关键字和用户输入的分词结果判断交集,得到比对结果。
步骤A312、根据比对结果确定关键字。
在得到比对结果之后,判断比对结果,若比对结果表示分词结果中的词语存在于预设词库,则该词语为有效词语,将其确定为关键字,用于后续的搜索;若比对结果表示分词结果中的词语不存在于预设词库,则该词语为无效词语,不作为关键字,以此筛选掉无效的分词。具体的,分词结果“想要”、“选中”、“所有”和“注释”中,“想要”在预设词库中不存在所以为无效词,没有使用价值;“选中”、“所有”和“注释”在预设词库中存在,为关键字,只有关键字才可以参与后续的搜索。如此,便可确定关键字。
步骤A32、根据关键字在预设数据库中搜索,获得搜索结果。
在确定关键字之后,使用关键字在预设数据库中进行搜索,获得搜索结果。生成的搜索结果表示预设数据库中存在目标正则表达式,或者表示预设数据库中不存在目标正则表达式。对于搜索结果表示预设数据库中存在目标正则表达式的情况,生成的搜索结果可能包含对应的正则表达式,也可能不包含对应的正则表达式;对于不包含对应的正则表达式的情况,搜索结果包含的是正则表达式的存储位置信息,该存储位置信息后续用于从预设数据库中获取对应的正则表达式。
步骤A4、对搜索结果进行判断。
在获得搜索结果之后,对搜索结果进行判断,若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式。在一些实施例中,服务器20进行搜索时,将获取的关键字传入预设数据库构建查询语句,得到搜索结果;搜索结果表示确定的关键字与预设数据库中的预设关键字的匹配程度,那么,就可以计算搜索结果的权重,并自动默认将搜索结果按照权重分数进行排序,比如从高到低排序。若权重大于设定值,表示匹配成功,服务器20则输出与搜索结果对应的正则表达式。
若搜索结果不满足预设条件,则根据前述分词结果生成正则表达式并输出。在一些实施例中,搜索结果不满足预设条件是指搜索结果的权重低于设定值,表示未成功匹配;示例的,定义权重标准分数(也即设定值)为80分,搜索结果的权重低于80分则判断为未成功匹配,即判断为预设数据库中没有现成的正则表达式。如此,则根据前述分词结果生成正则表达式并输出,具体如步骤A41和步骤A42。
步骤A41、根据分词结果在预设数据库中搜索,获得多个代码片段。
预设数据库中除了含有完整的正则表达式之外,还有正则表达式的片段(可称为代码片段),一个代码片段对应一个关键字。前面已经将用户输入的文本内容进行分词,得到分词结果,那么就可以根据分词结果在预设数据库中搜索对应的代码片段;以文本内容“选中所有Hello不区分大小写”为例,分词结果为“选中”、“所有”、“Hello”和“不区分大小写”,分别搜索“选中”、“所有”、“Hello”和“不区分大小写”的代码片段,从而获得对应的代码片段。在一些实施例中,也可以先从分词结果提取关键字,然后根据关键字在预设数据库中搜索,获得多个代码片段,这样能提高获得的代码片段的精度。
步骤A42、根据多个代码片段生成正则表达式并输出。
正则表达式的语法符合特定规律,在本实施例中,复杂的正则表达式用代码片段(也可称为基础单位代码)拼接生成。具体而言,在获得的代码片段中,“选中xxxx”的语法(代码片段)为“/xxxx/”,“选中所有”的语法(代码片段)为“/g”,“不区分大小写”的语法(代码片段)为“/i”,将以上代码片段根据语法拼接为完整的正则表达式“/Hello/gi”,然后输出。
如此,服务器20便输出正则表达式,具体是通过网络将搜索到的正则表达式发送回给客户终端设备10。
相应的,客户终端设备10则执行步骤B2。
步骤B2、从服务器接收正则表达式。
客户终端设备10通过网络从服务器20接收正则表达式。应当理解,客户终端设备10接收的正则表达式与搜索结果对应,且是搜索结果满足预设条件时服务器20输出的;或者,该正则表达式是搜索结果不满足预设条件时,服务器20根据分词结果生成的。
在一些实施例中,预设数据库包括第一文档和第二文档。相应的,步骤A32(根据关键字在预设数据库中搜索,获得搜索结果)包括:将关键字与第一文档的数据进行匹配,得到搜索结果。相应的,若权重大于设定值,则输出与搜索结果对应的正则表达式,包括:若权重大于设定值,则从第二文档选取与搜索结果对应的正则表达式并输出。
具体而言,服务器20创建一个elasticSesrch(一个分布式、高扩展、高实时的搜索与数据分析引擎)索引,索引中有两个文档,第一个文档存储正则表达式的完整代码,比如“(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|//.*\n?)”,第二个文档则存储完整代码的描述信息,比如“选中所有注释”。如果第一个文档的内容“选中所有注释”和输入的关键字“选中所有注释”完全匹配,则对应的搜索结果的权重分数最高,该权重大于设定值,服务器20从第二个文档选取与搜索结果对应的正则表达式并输出。
在一些实施例中,客户终端设备10从服务器20接收到正则表达式之后,向用户显示该正则表达式,具体可以通过web端的显示界面或app端的移动设备屏幕向用户显示,或是通过短信之类的通讯方式将用户需要的正则表达式推送给用户。
根据上述可知,对获取到的文本内容进行分词,得到分词结果;根据分词结果在预设数据库中搜索,获得搜索结果;若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出。如此,可根据获取到的文本内容快速生成正则表达式,能降低获取正则表达式的成本。
对获取到的文本内容进行分词,得到分词结果;将分词结果与预设词库进行比对,得到比对结果;根据比对结果确定关键字,然后根据关键字在预设数据库中搜索,获得搜索结果;若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出;如此,能进一步提高获取正则表达式的速度。
综上,本申请的实施例可以依据用户输入的描述信息快速生成正则表达式供用户使用,而不用在搜索引擎耗费时间检索,比如:用户在软件内输入“选中所有注释”,则软件会根据用户的输入自动生成并输出成品的正则表达式;如此,本申请的实施例能解决当前获取正则表达式时间成本过高且代码可靠性差的技术问题。
对应于上文实施例所述方法,图5示出本申请的实施例提供的生成正则表达式的装置的结构框图,为了便于说明,仅示出与本申请实施例相关的部分。
参考图5,该装置包括文本获取模块1、分词模块2、搜索模块3和结果处理模块4。
文本获取模块1,用于:获取文本内容。
分词模块2,用于:对文本内容进行分词,得到分词结果。
搜索模块3,用于:根据分词结果在预设数据库中搜索,获得搜索结果。
结果处理模块4,用于:若搜索结果满足预设条件,则输出与搜索结果对应的正则表达式;若搜索结果不满足预设条件,则根据分词结果生成正则表达式并输出。
图6是本申请一实施例提供的搜索模块3的结构示意图,在一些实施例中,搜索模块3包括关键字提取子模块31和搜索子模块32。
关键字提取子模块31,用于:从分词结果提取关键字。
搜索子模块32,用于:根据关键字在预设数据库中搜索,获得搜索结果。
图7是本申请一实施例提供的关键字提取子模块31的结构示意图,在一些实施例中,关键字提取子模块31包括比对单元311和确定单元312。
比对单元311,用于:将分词结果与预设词库进行比对,得到比对结果。
确定单元312,用于:根据比对结果确定关键字。
图8是本申请一实施例提供的结果处理模块4的结构示意图,在一些实施例中,结果处理模块4包括权重计算子模块41和结果输出子模块42。
权重计算子模块41,用于:计算搜索结果的权重。
结果输出子模块42,用于:若权重大于设定值,则输出与搜索结果对应的正则表达式。
在一些实施例中,预设数据库包括第一文档和第二文档,搜索子模块32具体用于:将关键字与第一文档的数据进行匹配,得到搜索结果。相应的,结果输出子模块42,具体用于:若权重大于设定值,则从第二文档选取与搜索结果对应的正则表达式并输出。
图9是本申请一实施例提供的结果处理模块4的一种变型方式的结构示意图,在一些实施例中,结果处理模块4包括代码片段搜索子模块41’和结果生成及输出子模块42’。
代码片段搜索子模块41’,用于:根据分词结果在预设数据库中搜索,获得多个代码片段。
结果生成及输出子模块42’,用于:根据多个代码片段生成正则表达式并输出。
图10是本申请一实施例提供的文本获取模块1的结构示意图,在一些实施例中,文本获取模块1包括描述信息接收子模块11和内容提取子模块12。
描述信息接收子模块11,用于:接收描述信息。
内容提取子模块12,用于:从描述信息提取文本内容。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图11为本申请一实施例提供的计算设备的结构示意图。如图11所示,该实施例的计算设备110包括:至少一个处理器1100(图11中仅示出一个)、存储器1101以及存储在存储器1101中并可在至少一个处理器1100上运行的计算机程序1102;处理器1100执行计算机程序1102时实现上述任意各个方法实施例中的步骤。
计算设备110可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该计算设备可包括,但不仅限于,处理器1100和存储器1101。本领域技术人员可以理解,图11仅仅是计算设备的举例,并不构成对计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、总线等。
处理器1100可以是中央处理单元(Central Processing Unit,CPU),该处理器1100还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1101在一些实施例中可以是计算设备110的内部存储单元,例如计算设备的硬盘或内存。存储器1101在另一些实施例中也可以是计算设备的外部存储设备,例如计算设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器1101还可以既包括计算设备的内部存储单元也包括外部存储设备。存储器1101用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器1101还可以用于暂时地存储已经输出或者将要输出的数据。
示例性的,计算机程序1102可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1101中,并由处理器1100执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序1102在计算设备110中的执行过程。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
前述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于计算机可读存储介质中;该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请的实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请的实施例提供一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备可实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
前述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种生成正则表达式的方法,其特征在于,所述方法包括:
获取文本内容;
对所述文本内容进行分词,得到分词结果;
根据所述分词结果在预设数据库中搜索,获得搜索结果;
若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式;
若所述搜索结果不满足预设条件,则根据所述分词结果生成正则表达式并输出。
2.如权利要求1所述的生成正则表达式的方法,其特征在于,所述根据所述分词结果在预设数据库中搜索,获得搜索结果,包括:
从所述分词结果提取关键字;
根据所述关键字在预设数据库中搜索,获得搜索结果。
3.如权利要求2所述的生成正则表达式的方法,其特征在于,所述从所述分词结果提取关键字,包括:
将所述分词结果与预设词库进行比对,得到比对结果;
根据所述比对结果确定关键字。
4.如权利要求2所述的生成正则表达式的方法,其特征在于,所述若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式,包括:
计算所述搜索结果的权重;
若所述权重大于设定值,则输出与所述搜索结果对应的正则表达式。
5.如权利要求4所述的生成正则表达式的方法,其特征在于,所述预设数据库包括第一文档和第二文档;
相应的,所述根据所述关键字在预设数据库中搜索,获得搜索结果,包括:
将所述关键字与所述第一文档的数据进行匹配,得到搜索结果;
相应的,所述若所述权重大于设定值,则输出与所述搜索结果对应的正则表达式,包括:
若所述权重大于设定值,则从所述第二文档选取与所述搜索结果对应的正则表达式并输出。
6.如权利要求1所述的生成正则表达式的方法,其特征在于,所述根据所述分词结果生成正则表达式并输出,包括:
根据所述分词结果在所述预设数据库中搜索,获得多个代码片段;
根据所述多个代码片段生成正则表达式并输出。
7.如权利要求1至6任一项所述的生成正则表达式的方法,其特征在于,所述获取文本内容,包括:
接收描述信息;
从所述描述信息提取文本内容。
8.一种生成正则表达式的装置,其特征在于,所述装置包括:
文本获取模块,用于:获取文本内容;
分词模块,用于:对所述文本内容进行分词,得到分词结果;
搜索模块,用于:根据所述分词结果在预设数据库中搜索,获得搜索结果;
结果处理模块,用于:若所述搜索结果满足预设条件,则输出与所述搜索结果对应的正则表达式;若所述搜索结果不满足预设条件,则根据所述分词结果生成正则表达式并输出。
9.一种计算设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110779337.7A CN113656538A (zh) | 2021-07-09 | 2021-07-09 | 生成正则表达式的方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110779337.7A CN113656538A (zh) | 2021-07-09 | 2021-07-09 | 生成正则表达式的方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656538A true CN113656538A (zh) | 2021-11-16 |
Family
ID=78477294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110779337.7A Pending CN113656538A (zh) | 2021-07-09 | 2021-07-09 | 生成正则表达式的方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563964A (zh) * | 2022-11-10 | 2023-01-03 | 北京泰迪熊移动科技有限公司 | 短信文本正则生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326363A (zh) * | 2016-08-11 | 2017-01-11 | 海信集团有限公司 | 一种基于正则表达式的匹配方法及装置 |
CN107741972A (zh) * | 2017-10-12 | 2018-02-27 | 广东欧珀移动通信有限公司 | 一种图片的搜索方法、终端设备及存储介质 |
CN109190014A (zh) * | 2018-06-29 | 2019-01-11 | 北京奇艺世纪科技有限公司 | 一种正则表达式生成方法、装置及电子设备 |
CN109271492A (zh) * | 2018-11-16 | 2019-01-25 | 广东小天才科技有限公司 | 一种语料正则表达式的自动生成方法及系统 |
-
2021
- 2021-07-09 CN CN202110779337.7A patent/CN113656538A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326363A (zh) * | 2016-08-11 | 2017-01-11 | 海信集团有限公司 | 一种基于正则表达式的匹配方法及装置 |
CN107741972A (zh) * | 2017-10-12 | 2018-02-27 | 广东欧珀移动通信有限公司 | 一种图片的搜索方法、终端设备及存储介质 |
CN109190014A (zh) * | 2018-06-29 | 2019-01-11 | 北京奇艺世纪科技有限公司 | 一种正则表达式生成方法、装置及电子设备 |
CN109271492A (zh) * | 2018-11-16 | 2019-01-25 | 广东小天才科技有限公司 | 一种语料正则表达式的自动生成方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563964A (zh) * | 2022-11-10 | 2023-01-03 | 北京泰迪熊移动科技有限公司 | 短信文本正则生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9576054B2 (en) | Search method, apparatus and system based on rewritten search term | |
CN108572990B (zh) | 信息推送方法和装置 | |
CN112668320B (zh) | 基于词嵌入的模型训练方法、装置、电子设备及存储介质 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN110941951B (zh) | 文本相似度计算方法、装置、介质及电子设备 | |
CN105637509A (zh) | 在图像内搜索和注释 | |
EP3961426A2 (en) | Method and apparatus for recommending document, electronic device and medium | |
CN112528681A (zh) | 跨语言检索及模型训练方法、装置、设备和存储介质 | |
CN111859013A (zh) | 数据处理方法、装置、终端和存储介质 | |
CN112214576A (zh) | 舆情分析方法、装置、终端设备及计算机可读存储介质 | |
CN110245357B (zh) | 主实体识别方法和装置 | |
KR20200136636A (ko) | 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법 | |
CN113656538A (zh) | 生成正则表达式的方法、装置、计算设备及存储介质 | |
CN113806660A (zh) | 数据评估方法、训练方法、装置、电子设备以及存储介质 | |
CN111814481A (zh) | 购物意图识别方法、装置、终端设备及存储介质 | |
CN110929499A (zh) | 文本相似度获取方法、装置、介质及电子设备 | |
CN111737571B (zh) | 搜索方法、装置和电子设备 | |
CN111368036B (zh) | 用于搜索信息的方法和装置 | |
CN114443802A (zh) | 一种接口文档处理方法、装置、电子设备和存储介质 | |
CN112926295A (zh) | 模型推荐方法和装置 | |
CN111581950A (zh) | 同义名称词的确定方法和同义名称词的知识库的建立方法 | |
CN116610782B (zh) | 文本检索方法、装置、电子设备及介质 | |
CN116578693B (zh) | 一种文本检索方法及装置 | |
CN115048495A (zh) | 文档检索方法、装置、电子设备和介质 | |
CN116150497A (zh) | 文本信息推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |