CN109800339A - 正则表达式生成方法、装置、计算机设备及存储介质 - Google Patents
正则表达式生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109800339A CN109800339A CN201811527535.9A CN201811527535A CN109800339A CN 109800339 A CN109800339 A CN 109800339A CN 201811527535 A CN201811527535 A CN 201811527535A CN 109800339 A CN109800339 A CN 109800339A
- Authority
- CN
- China
- Prior art keywords
- regular
- regular expression
- chinese
- grammar
- chinese keyword
- 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
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本申请实施例提供了一种正则表达式生成方法、装置、计算机设备及存储介质。方法包括:获取使用中文关键字表述的第一正则表达式,中文关键字由正则语法中对字符的描述获取;获取第一正则表达式中各中文关键字对应的正则语法的字符形式的描述;根据所获取的中文关键字对应的正则语法的字符形式的描述,将第一正则表达式中的各中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。本申请实施例涉及计算机技术开发中的开发辅助,通过中文关键字来表述第一正则表达式,将第一正则表达式中的中文关键字置换为正则语法中对应的字符,生成字符形式的第二正则表达式,实现减少生成正则表达式时的字符量,提高生成正则表达式的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种正则表达式生成方法、装置、计算机设备及计算机可读存储介质。
背景技术
正则表达式通常被用来检索或者替换符合预设模式或者规则的文本,许多程序设计语言都支持利用正则表达式进行字符串操作,正则表达式在基于文本的编辑器和搜索工具中占据着一个非常重要的地位。
传统技术中,业内使用正则表达式,一般都是人工自己撰写正则表达式。由于不是经常使用正则表达式,导致正则表达式涉及的正则语法遗忘,同时由于正则语法较多等原因,撰写正则表达式时,经常需要再次查看正则语法,问题复杂时需花费大量时间,从而导致使用正则表达式时效率低下。
发明内容
本申请实施例提供了一种正则表达式生成方法、装置、计算机设备及计算机可读存储介质,能够解决传统技术中使用正则表达式效率低的问题。
第一方面,本申请实施例提供了一种正则表达式生成方法,所述方法包括:获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
第二方面,本申请实施例还提供了一种正则表达式生成装置,包括:第一获取单元,用于获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;第二获取单元,用于获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;转换单元,用于根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
第三方面,本申请实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述正则表达式生成方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行所述正则表达式生成方法。
本申请实施例提供了一种正则表达式生成方法、装置、计算机设备及计算机可读存储介质。所述方法包括:获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。本申请实施例涉及计算机技术开发中的开发辅助,通过使用中文关键字描述正则语法,从而提高正则语法的使用效率,通过易用的中文关键字来表述第一正则表达式,提高正则表达式的生成效率,再将第一正则表达式中的中文关键字置换为正则语法中对应的字符形式,从而获取字符形式的第二正则表达式,从而通过把正则语法提炼成中文关键字,以减少直接使用字符生成正则表达式耗费的时间,从而提高生成正则表达式的效率,解决传统技术中使用正则表达式效率低的问题。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的正则表达式生成方法的应用场景示意图;
图2为本申请实施例提供的正则表达式生成方法的流程示意图;
图3为本申请另一个实施例提供的正则表达式生成方法的流程示意图;
图4为本申请实施例提供的正则表达式生成装置的示意性框图;
图5为本申请实施例提供的正则表达式生成装置的另一个示意性框图;以及
图6为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本申请实施例提供的正则表达式生成方法的应用场景示意图。所述应用场景包括:
(1)终端。图1所示终端为程序员等人工撰写正则表达式时使用的计算机设备。所述终端可以为智能手机、智能手表、笔记本电脑、平板电脑或者台式电脑等电子设备,终端通过键盘等输入设备接收人工的输入。
图1中的各个主体工作过程如下:在进行程序编程中,需要撰写正则表达式时,计算机设备获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;计算机设备获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;计算机设备根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式,从而获取计算机需要的正则表达式。
需要说明的是,图1中仅仅示意出台式计算机作为终端,在实际操作过程中,类型可以不限于图1中所示,所述终端还可以为智能手表、笔记本电脑或者平板电脑等电子设备,上述正则表达式生成方法的应用场景仅仅用于说明本申请技术方案,并不用于限定本申请技术方案。
图2为本申请实施例提供的正则表达式生成方法的示意性流程图。该正则表达式生成方法应用于图1中的计算机设备中,以完成正则表达式生成方法的全部或者部分功能。
请参阅图2,图2是本申请实施例提供的正则表达式生成方法的流程示意图。如图2所示,该方法包括以下步骤S210-S230:
S210、获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取。
其中,正则语法中对字符的描述,是指正则语法中对该字符的含义的描述,由于正则语法中不同的字符表示不同的含义,参与不同的逻辑操作,因此,不同的字符对应有相应的含义解释和说明,也就是该字符的含义描述。请参阅表格1,比如,“\b”的含义就是对应的该字符描述“匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)”。字符“?=”的含义对应的字符描述为“非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用”。
中文关键字,是指将正则语法中各字符的中文含义进行提炼获取中文关键字,以便通过各字符对应的中文关键字对该字符在正则语法中的含义进行概括描述,所述中文关键字根据正则语法中各字符的中文含义进行概括分别对应获取。请继续参阅表格1,比如,字符“\b”,对应的含义为字符描述“匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的)”,对应提取的中文关键字为“\词边界”,通过中文关键字“\词边界”来表示字符“\b”在正则语法中的含义。再比如,字符“?=”,对应的含义为字符描述“非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用”,对应提取的中文关键字为“\跟”,通过中文关键字“\跟”来表示字符“\跟”在正则语法中的含义。
正则表达式,又称规则表达式,英语为RegularExpression,在计算机程序代码中常简写为regex、regexp或RE。正则表达式是对字符串操作的一种逻辑公式,是用事先定义好的字符及这些字符的组合,组成一个“规则字符串”,该“规则字符串”用来表达对字符串的一种过滤逻辑,其中,字符串包括普通字符和特殊字符。其中,普通字符,比如,a到z之间的字母,特殊字符,又称为“元字符”,是一些在正则表达式中有特殊用途、但不代表它本身字符意义的一组字符,比如:^、?:、?=、?!等字符。
正则语法,是指正则表达式的语法。正则语法是指对字符串的操作逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式通常被用来检索、替换符合预先设置模式或者规则的文本。
一个正则表达式结构主要包含:
1)、要匹配的字符集,包括:\w、\d、\D、\b、\s等,如:\d表示数字0-9;
2)、量词,包括:+、*、?等,如:\d+表示至少有一个数字;
3)、括号,包括:大括号{},同量词表示匹配多少次;中括号[],表示一组字符集;小括号(),表示子正则表达式;
4)、其他特殊字符,包括:^、?:、?=、?!、|等;
5)修饰符,比如包括:
①i,英文为ignore,不区分大小写,例如:/abc/i,可以匹配abc、aBC、Abc;
②g,英文为global,全局搜索或者全局匹配,如果不带g,正则过程中字符串从左到右匹配,找到第一个符合条件的即匹配成功,返回;如果带g,则字符串从左到右,找到每个符合条件的都记录下来,直到字符串结尾位置;
③m,英文为more,跨行搜索或者多行匹配,若存在换行\n并且有开始^或结束$符的情况下,和g一起使用实现全局匹配,因为存在换行时默认会把换行符作为一个字符任务匹配字符串是个单行,g只匹配第一行,添加m之后实现多行,每个换行符之后就是开始。
中文生成正则表达式主要把其中的正则语法转换为中文,比如:
1)字符集用中文表示,如‘\数字’表示数字0到9,‘\汉字’表示所有汉字,‘\空’表示包括空格、换行、换页等在内的所有空白字符,‘\字母’表示a到z单词字母,‘\换行’表示换行符。
2)特殊字符用中文表示:
‘\非’表示取反,需配合其他关键字使用,如‘\非\空’表示匹配除了空白以外的任何字符;
‘\或’表示或者的关系,如‘数字或汉字’,表示匹配数字或汉字;
‘\跟’表示跟着的意思,如‘数字跟汉字’,表示匹配有数字且数字后面跟着汉字的字符集。
3)转义字符’\’,如果想使用中文关键字的原义,只要不在其前面加转义字符‘\',如‘数字’表示中文数字二字,而不是0到9。
请参阅图3,图3为本申请另一个实施例提供的正则表达式生成方法的流程示意图。在该实施例中,所述获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述的步骤之前包括:
S200、获取正则语法与中文关键字的对应关系。
具体地,预先获取正则语法对应的中文关键字,所述中文关键字根据所述语法对应的描述进行提炼,所述正则语法与中文关键字的对应关系可由人工提炼后通过外部输入设备输入,也可由计算机设备通过软件程序进行提炼,以方便程序人员在撰写正则表达式时,根据中文关键字迅速撰写出使用中文关键字表述的第一正则表达式,其中,正则语法与中文关键字的对应关系可参见表格1。
进一步地,所述获取正则语法与中文关键字的对应关系的步骤包括:
获取所述中文关键字的注解;
基于所述注解确定所述正则语法与中文关键字的对应关系。
其中,所述中文关键字的注解是指所述中文关键字对应的正则语法含义的字符描述,所述注解对中文关键字的对应字符的含义作解释或者提示,以便人员理解所述中文关键字对应的正则语法对应的字符的含义,从而撰写出准确的正则表达式。
获取所述中文关键字的注解,基于所述注解确定所述正则语法与中文关键字的对应关系,以实现根据正则语法提取正则语法对应的中文关键字,所述中文关键字的注解可以参见表格1中的字符描述,具体请进一步参见表格1。
表格1
具体地,计算机设备预先获取正则语法对应的中文关键字并进行存储,所述中文关键字根据所述语法对应的描述进行提炼,所述中文关键字可以是由人工进行提炼后输入到设备上,或者由设备通过算法自动获取,本申请实施例通过把正则语法提炼成中文关键字,使人工在撰写正则表达式时,见字知意,使用简单。
S220、获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述。
具体地,获取使用中文关键字表述的第一正则表达式后,获取所述第一正则表达式中各中文关键字对应的正则语法的字符形式的描述。比如,获取的一个中文正则表达式为:‘/\数字{2,5}\跟\汉字+/全局’。所述中文正则表达式描述为:匹配2到5个数字,且数字后面必须跟着至少一个汉字。请继续参照表格1,可知,所述中文正则表达式中,各中文关键字对应的正则语法的字符形式的描述为:‘\数字’对应‘\d’,‘\跟’对应‘?=’,‘\汉字’对应‘\u4e00-\u9fa5’,‘/全局’对应‘/g’。
S230、根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
具体地,由于使用中文关键字表述的第一正则表达式只是为了方便人工根据实际需要撰写程序语言中涉及的正则表达式,因此需要将所述第一正则表达式转换为程序语言采用的字符形式的第二正则表达式。计算机设备通过将中文关键字转换成正则语法中的对应字符,将所述第一正则表达式转换为字符形式的第二正则表达式,实现通过中文关键字生成程序语言可使用的正则表达式。比如,将中文关键字表述的正则表达式‘/\数字{2,5}\跟\汉字+/全局’,根据表格1可以转换为中文关键字对应的字符形式的表述,转化后的字符形式的第二表达式为:‘/\d{2,5}(?=[\u4e00-\u9fa5]+)/g’,也就是计算机程序语言通常采用的字符形式的正则表达式。
在本申请实施例中,通过将正则语法提炼成中文关键字,根据中文关键字写出第一正则表达式,将所述第一正则表达式根据提炼成中文关键字时的对应关系对应转换成字符形式的第二正则表达式,可以实现快速生成正则表达式,避免由于人员不是经常使用正则表达式,导致正则表达式涉及的正则语法遗忘,同时由于正则语法较多等原因,写正则表达式的时,经常需要再次查看正则语法,问题复杂时需花费大量时间,从而导致使用正则表达式时效率低下,以提高完成正则表达式的效率。
在一个实施例中,所述获取正则语法与中文关键字的对应关系的步骤包括:接收外部输入的所述正则语法与所述中文关键字的对应关系。
具体地,所述正则语法与所述中文关键字的对应关系由人工进行提炼后输入至计算机设备,正则语法提取正则语法对应的中文关键字,具体请继续参见表格1。
所述获取正则语法与中文关键字的对应关系的步骤包括:
基于神经网络学习建立正则语法与中文关键字的对应关系模型;
训练所述对应关系模型得到训练后的对应关系模型;
基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系。
具体地,通过神经网络学习建立正则语法与中文关键字的对应关系模型,训练所述对应关系模型得到训练后的对应关系模型,基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系,实现通过神经网络学习建立正则语法与中文关键字的对应关系模型,并通过所述对应关系模型训练所述对应关系模型的准确性,基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系,以提高正则语法与中文关键字对应关系的准确性。请继续参见表格1,比如,通过多个语料,若多个语料中“\b”描述的均是词边界的特征,训练出“\b”对应的中文关键字是“\词边界”等。
具体地,由于正则语法提炼成中文关键字,相对于各种字符形式的正则语法,可以方便人工书写正则表达式,所述第一正则表达式可以是通过键盘由人工输入,获取使用中文关键字表述的第一正则表达式。比如,一个中文正则表达式,匹配2到5个数字,且数字后面必须跟着至少一个汉字,正则表达式为:
‘/\数字{2,5}\跟\汉字+/全局’。
在一个实施例中,以列表形式存储所述正则语法及所述正则语法对应的所述中文关键字。
具体地,中文关键字做成可拖动的列表,是一个实现中文正则表达式的程序,是指将所述中文关键字做成一个列表,所述列表中的中文关键字可以被复制粘贴或者拖动,用户可以通过复制和粘贴或者拖动中文关键字生成正则表达式,同时这些关键字会有注解方便用户理解,所述注解为所述中文关键字的描述。把正则语法提炼成中文关键字,人员使用时见字知意,使用简单,同时将中文关键字做成可拖动的列表,接收输入的字符和经拖动加入关键字生成正则表达式,也就是通过人员输入少量字符,拖动加入关键字生成正则表达式,方便快捷。
请继续参阅图3,在该实施例中,所述获取字符形式的第二正则表达式的步骤之后还包括:
S240、根据预设规范校验所述第二正则表达式是否包含错误;
S241、若所述第二正则表达式包含错误,提示所述错误;
S242、若所述第二正则表达式未包含错误,提示所述第二正则表达式正确。
具体地,计算机设备获取到字符形式的第二正则表达式后,可以通过正则表达式的预设规范校验所述第二正则表达式是否包含错误,以判断所述第二正则表达式是否正确,所述预设规范包括正则表达式的逻辑以及正则表达式是否符合预设形式,比如,先后的逻辑是否正确,正则表达式是否完整,是否缺少必要的字符等,比如‘+’或者‘/’等,若所述第二正则表达式包含错误,根据预设规范提示所述错误具体是什么,错误在什么地方,以便对所述第二正则表达式进行修改,若所述第二正则表达式未包含错误,提示所述第二正则表达式正确,完成所述第二正则表达式的撰写。
需要说明的是,上述各个实施例所述的正则表达式生成方法,可以根据需要将不同实施例中包含的技术特征重新进行组合,以获取组合后的实施方案,但都在本申请要求的保护范围之内。
请参阅图4,图4为本申请实施例提供的正则表达式生成装置的示意性框图。对应于上述正则表达式生成方法,本申请实施例还提供一种正则表达式生成装置。请参阅图4,该正则表达式生成装置包括用于执行上述正则表达式生成方法的单元,该装置可以被配置于笔记本电脑等计算机设备中。具体地,请参阅图4,该正则表达式生成装置400包括第一获取单元401、第二获取单元402以及转换单元403。
其中,第一获取单元401,用于获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;
第二获取单元402,用于获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;
转换单元403,用于根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
请参阅图5,图5为本申请实施例提供的正则表达式生成装置的另一个示意性框图.如图5所示,所述装置400还包括:
第三获取单元404,用于获取正则语法与中文关键字的对应关系。
在一个实施例中,第三获取单元404,用于获取所述中文关键字的注解;基于所述注解确定所述正则语法与中文关键字的对应关系。
在一个实施例中,所述第三获取单元404,用于接收外部输入的所述正则语法与所述中文关键字的对应关系。
请继续参阅图5,如图5所示,在该实施例中,所述第三获取单元404包括:
建立子单元4041,用于基于神经网络学习建立正则语法与中文关键字的对应关系模型;
训练子单元4042,用于训练所述对应关系模型得到训练后的对应关系模型;
确定子单元4043,用于基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系。
请继续参阅图5,如图5所示,所述装置400还包括:
存储单元405,用于以列表形式存储所述正则语法及所述正则语法对应的所述中文关键字。
请继续参阅图5,如图5所示,所述装置400还包括:
校验单元406,用于根据预设规范校验所述第二正则表达式是否包含错误;
第一提示单元407,用于若所述第二正则表达式包含错误,提示所述错误;
第二提示单元408,用于若所述第二正则表达式未包含错误,提示所述第二正则表达式正确。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述正则表达式生成装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
同时,上述正则表达式生成装置中各个单元的划分和连接方式仅用于举例说明,在其他实施例中,可将正则表达式生成装置按照需要划分为不同的单元,也可将正则表达式生成装置中各单元采取不同的连接顺序和方式,以完成上述正则表达式生成装置的全部或部分功能。
上述正则表达式生成装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备600可以是服务器,也可以是其他设备中的组件或者部件。
参阅图6,该计算机设备600包括通过***总线601连接的处理器602、存储器和网络接口605,其中,存储器可以包括非易失性存储介质603和内存储器604。
该非易失性存储介质603可存储操作***6031和计算机程序6032。该计算机程序6032被执行时,可使得处理器602执行一种上述正则表达式生成方法。
该处理器602用于提供计算和控制能力,以支撑整个计算机设备600的运行。
该内存储器604为非易失性存储介质603中的计算机程序6032的运行提供环境,该计算机程序6032被处理器602执行时,可使得处理器602执行一种上述正则表达式生成方法。
该网络接口605用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备600的限定,具体的计算机设备600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图6所示实施例一致,在此不再赘述。
其中,所述处理器602用于运行存储在存储器中的计算机程序6032,以实现如下步骤:获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
在一实施例中,所述处理器602在实现上述步骤时,所述获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述的步骤之前包括:获取正则语法与中文关键字的对应关系。
在一实施例中,所述处理器602在实现上述步骤时,所述获取正则语法与中文关键字的对应关系的步骤包括:
获取所述中文关键字的注解;
基于所述注解确定所述正则语法与中文关键字的对应关系。
在一实施例中,所述处理器602在实现上述步骤时,所述获取正则语法与中文关键字的对应关系的步骤包括:接收外部输入的所述正则语法与所述中文关键字的对应关系。
在一实施例中,所述处理器602在实现上述步骤时,所述获取正则语法与中文关键字的对应关系的步骤包括:
基于神经网络学习建立正则语法与中文关键字的对应关系模型;
训练所述对应关系模型得到训练后的对应关系模型;
基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系。
在一实施例中,所述处理器602在实现上述步骤时,所述方法还包括:
以列表形式存储所述正则语法及所述正则语法对应的所述中文关键字。
在一实施例中,所述处理器602在实现上述步骤时,所述生成字符形式的第二正则表达式的步骤之后还包括:
根据预设规范校验所述第二正则表达式是否包含错误;
若所述第二正则表达式包含错误,提示所述错误;
若所述第二正则表达式未包含错误,提示所述第二正则表达式正确。
应当理解,在本申请实施例中,处理器602可以是中央处理单元(CentralProcessingUnit,CPU),该处理器602还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来完成,该计算机程序可存储于一计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种存储介质。该存储介质可以为非易失性的计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如下步骤:
一种计算机程序产品,当其在计算机上运行时,使得计算机执行以上各实施例中所描述的正则表达式生成方法的步骤。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种正则表达式生成方法,其特征在于,所述方法包括:
获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;
获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;
根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
2.根据权利要求1所述正则表达式生成方法,其特征在于,所述获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述的步骤之前包括:
获取正则语法与中文关键字的对应关系。
3.根据权利要求2所述正则表达式生成方法,其特征在于,所述获取正则语法与中文关键字的对应关系的步骤包括:
获取所述中文关键字的注解;
基于所述注解确定所述正则语法与中文关键字的对应关系。
4.根据权利要求2所述正则表达式生成方法,其特征在于,所述获取正则语法与中文关键字的对应关系的步骤包括:
接收外部输入的所述正则语法与所述中文关键字的对应关系。
5.根据权利要求2所述正则表达式生成方法,其特征在于,所述获取正则语法与中文关键字的对应关系的步骤包括:
基于神经网络学习建立正则语法与中文关键字的对应关系模型;
训练所述对应关系模型得到训练后的对应关系模型;
基于训练后的对应关系模型确定所述正则语法与中文关键字的对应关系。
6.根据权利要求2-5任一项所述正则表达式生成方法,其特征在于,所述方法还包括:
以列表形式存储所述正则语法及所述正则语法对应的所述中文关键字。
7.根据权利要求1所述正则表达式生成方法,其特征在于,所述生成字符形式的第二正则表达式的步骤之后还包括:
根据预设规范校验所述第二正则表达式是否包含错误;
若所述第二正则表达式包含错误,提示所述错误;
若所述第二正则表达式未包含错误,提示所述第二正则表达式正确。
8.一种正则表达式生成装置,其特征在于,包括:
第一获取单元,用于获取使用中文关键字表述的第一正则表达式,所述中文关键字由正则语法中对字符的描述获取;
第二获取单元,用于获取所述第一正则表达式中各所述中文关键字对应的正则语法的字符形式的描述;
转换单元,用于根据所获取的中文关键字对应的正则语法的字符形式的描述,将所述第一正则表达式中的各所述中文关键字转换为中文关键字对应的字符,以生成字符形式的第二正则表达式。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器以及与所述存储器相连的处理器;所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述正则表达式生成方法的步骤。
10.一种计算机存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1-7中任一项所述正则表达式生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527535.9A CN109800339A (zh) | 2018-12-13 | 2018-12-13 | 正则表达式生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527535.9A CN109800339A (zh) | 2018-12-13 | 2018-12-13 | 正则表达式生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109800339A true CN109800339A (zh) | 2019-05-24 |
Family
ID=66556621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811527535.9A Pending CN109800339A (zh) | 2018-12-13 | 2018-12-13 | 正则表达式生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800339A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341293A (zh) * | 2020-03-09 | 2020-06-26 | 广州市百果园信息技术有限公司 | 一种文本语音的前端转换方法、装置、设备和存储介质 |
CN111753548A (zh) * | 2020-03-04 | 2020-10-09 | 北京沃东天骏信息技术有限公司 | 信息获取方法及装置、计算机存储介质、电子设备 |
CN112100366A (zh) * | 2020-09-17 | 2020-12-18 | 广联达科技股份有限公司 | 路面结构层的展示方法、装置、计算机设备及存储介质 |
CN112398809A (zh) * | 2020-09-29 | 2021-02-23 | 曙光网络科技有限公司 | 协议规则转换方法、装置、计算机设备和存储介质 |
WO2021068683A1 (zh) * | 2019-10-11 | 2021-04-15 | 平安科技(深圳)有限公司 | 正则表达式生成方法、装置、服务器及计算机可读存储介质 |
WO2021072872A1 (zh) * | 2019-10-16 | 2021-04-22 | 平安科技(深圳)有限公司 | 基于字符转换的姓名存储方法、装置、计算机设备 |
CN113255297A (zh) * | 2021-05-25 | 2021-08-13 | 深圳壹账通智能科技有限公司 | 文本正则化方法、装置、电子设备和存储介质 |
CN113268246A (zh) * | 2021-05-28 | 2021-08-17 | 大箴(杭州)科技有限公司 | 正则表达式的生成方法、装置及计算机设备 |
CN113626593A (zh) * | 2021-07-13 | 2021-11-09 | 深圳希施玛数据科技有限公司 | 一种Excel文件校验方法、装置及设备 |
CN114003782A (zh) * | 2021-09-29 | 2022-02-01 | 深圳优美创新科技有限公司 | 蓝牙设备过滤方法、***、装置及计算机可读存储介质 |
CN115130023A (zh) * | 2022-07-08 | 2022-09-30 | 阿里巴巴(中国)有限公司 | 正则表达式生成方法、装置、设备和存储介质 |
CN115269939A (zh) * | 2022-09-28 | 2022-11-01 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020021182A (ko) * | 2000-09-08 | 2002-03-20 | 류충구 | 성조 표현을 이용한 중국어 입력 시스템 및 그 방법 |
US20060167873A1 (en) * | 2005-01-21 | 2006-07-27 | Degenaro Louis R | Editor for deriving regular expressions by example |
CN102789391A (zh) * | 2012-05-16 | 2012-11-21 | 北京像素软件科技股份有限公司 | 一种计算机游戏逻辑生成方法 |
CN105868166A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 一种正则表达式的生成方法及*** |
-
2018
- 2018-12-13 CN CN201811527535.9A patent/CN109800339A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020021182A (ko) * | 2000-09-08 | 2002-03-20 | 류충구 | 성조 표현을 이용한 중국어 입력 시스템 및 그 방법 |
US20060167873A1 (en) * | 2005-01-21 | 2006-07-27 | Degenaro Louis R | Editor for deriving regular expressions by example |
CN102789391A (zh) * | 2012-05-16 | 2012-11-21 | 北京像素软件科技股份有限公司 | 一种计算机游戏逻辑生成方法 |
CN105868166A (zh) * | 2015-01-22 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 一种正则表达式的生成方法及*** |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021068683A1 (zh) * | 2019-10-11 | 2021-04-15 | 平安科技(深圳)有限公司 | 正则表达式生成方法、装置、服务器及计算机可读存储介质 |
WO2021072872A1 (zh) * | 2019-10-16 | 2021-04-22 | 平安科技(深圳)有限公司 | 基于字符转换的姓名存储方法、装置、计算机设备 |
CN111753548A (zh) * | 2020-03-04 | 2020-10-09 | 北京沃东天骏信息技术有限公司 | 信息获取方法及装置、计算机存储介质、电子设备 |
CN111341293B (zh) * | 2020-03-09 | 2022-11-18 | 广州市百果园信息技术有限公司 | 一种文本语音的前端转换方法、装置、设备和存储介质 |
CN111341293A (zh) * | 2020-03-09 | 2020-06-26 | 广州市百果园信息技术有限公司 | 一种文本语音的前端转换方法、装置、设备和存储介质 |
CN112100366A (zh) * | 2020-09-17 | 2020-12-18 | 广联达科技股份有限公司 | 路面结构层的展示方法、装置、计算机设备及存储介质 |
CN112100366B (zh) * | 2020-09-17 | 2023-10-27 | 广联达科技股份有限公司 | 路面结构层的展示方法、装置、计算机设备及存储介质 |
CN112398809A (zh) * | 2020-09-29 | 2021-02-23 | 曙光网络科技有限公司 | 协议规则转换方法、装置、计算机设备和存储介质 |
CN113255297A (zh) * | 2021-05-25 | 2021-08-13 | 深圳壹账通智能科技有限公司 | 文本正则化方法、装置、电子设备和存储介质 |
CN113268246A (zh) * | 2021-05-28 | 2021-08-17 | 大箴(杭州)科技有限公司 | 正则表达式的生成方法、装置及计算机设备 |
CN113268246B (zh) * | 2021-05-28 | 2022-05-13 | 大箴(杭州)科技有限公司 | 正则表达式的生成方法、装置及计算机设备 |
CN113626593A (zh) * | 2021-07-13 | 2021-11-09 | 深圳希施玛数据科技有限公司 | 一种Excel文件校验方法、装置及设备 |
CN113626593B (zh) * | 2021-07-13 | 2024-04-19 | 深圳希施玛数据科技有限公司 | 一种Excel文件校验方法、装置及设备 |
CN114003782A (zh) * | 2021-09-29 | 2022-02-01 | 深圳优美创新科技有限公司 | 蓝牙设备过滤方法、***、装置及计算机可读存储介质 |
CN115130023A (zh) * | 2022-07-08 | 2022-09-30 | 阿里巴巴(中国)有限公司 | 正则表达式生成方法、装置、设备和存储介质 |
CN115269939A (zh) * | 2022-09-28 | 2022-11-01 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
CN115269939B (zh) * | 2022-09-28 | 2023-02-17 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800339A (zh) | 正则表达式生成方法、装置、计算机设备及存储介质 | |
JP6714024B2 (ja) | 言語入力データからnグラムおよび概念関係の自動生成 | |
WO2018040899A1 (zh) | 搜索词纠错方法及装置 | |
CN101208689B (zh) | 创建语言模型和假名-汉字转换的方法和设备 | |
US20140156282A1 (en) | Method and system for controlling target applications based upon a natural language command string | |
CN110263311B (zh) | 一种网络页面的生成方法及设备 | |
CN111026470A (zh) | 用于输入数据的验证和转换的***和方法 | |
CN110096263A (zh) | Web前端代码自动生成方法及装置 | |
KR20190095099A (ko) | 거래 시스템 에러 검출 방법, 장치, 저장 매체 및 컴퓨터 장치 | |
WO2020149959A1 (en) | Conversion of natural language query | |
CN108388547A (zh) | 字符串解析方法、装置、设备及计算机可读存储介质 | |
CN103914296A (zh) | 用于本机语言ide代码帮助的方法和*** | |
Bhaire et al. | Spell checker | |
CN112948400A (zh) | 一种数据库管理方法、数据库管理装置及终端设备 | |
CN105630761B (zh) | 公式处理方法及装置 | |
CN116360763A (zh) | 一种快速生成rpa应用的方法及装置 | |
CN113343674B (zh) | 生成文本纠错模型训练语料的方法、装置、设备及介质 | |
US11568858B2 (en) | Transliteration based data augmentation for training multilingual ASR acoustic models in low resource settings | |
EP3255558A1 (en) | Syntax analyzing device, learning device, machine translation device and recording medium | |
KR101989960B1 (ko) | 복수 개의 기계학습 모델을 사용한 실시간 필기 인식 방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 실시간 필기 인식 시스템 | |
CN112835494A (zh) | 一种语音识别结果纠错方法及装置 | |
CN110309062A (zh) | 用例生成方法、装置、电子设备及存储介质 | |
CN110018828A (zh) | 源代码检查方法、装置及终端设备 | |
JP7526475B2 (ja) | 後編集支援システム、後編集支援方法、後編集支援装置、およびコンピュータプログラム | |
US11494551B1 (en) | Form field prediction service |
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 |