CN117034874A - 一种正则表达式的生成方法、装置、电子设备及介质 - Google Patents

一种正则表达式的生成方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN117034874A
CN117034874A CN202311052430.3A CN202311052430A CN117034874A CN 117034874 A CN117034874 A CN 117034874A CN 202311052430 A CN202311052430 A CN 202311052430A CN 117034874 A CN117034874 A CN 117034874A
Authority
CN
China
Prior art keywords
text data
regular expression
target
generating
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
Application number
CN202311052430.3A
Other languages
English (en)
Inventor
汤伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ecarx Hubei Tech Co Ltd
Original Assignee
Ecarx Hubei Tech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ecarx Hubei Tech Co Ltd filed Critical Ecarx Hubei Tech Co Ltd
Priority to CN202311052430.3A priority Critical patent/CN117034874A/zh
Publication of CN117034874A publication Critical patent/CN117034874A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种正则表达式的生成方法、装置、电子设备及介质,所述方法包括:获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;采用关键词提取算法确定所述第一文本数据的目标关键词;基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。该方法通过确定选取操作对应的第一文本数据,以及采用关键词提取算法确定第一文本数据的目标关键词,能够准确地生成原始文本数据的目标正则表达式,提高了生成正则表达式的准确性,同时增强了生成方法的通用性和灵活性,扩大了用户的使用范围。

Description

一种正则表达式的生成方法、装置、电子设备及介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种正则表达式的生成方法、装置、电子设备及介质。
背景技术
正则表达式是一种用于匹配和操作文本的工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
现有技术中可以通过生成工具来自动生成正则表达式,但上述生成工具需要用户具有一定的专业技能,如编程知识,不能较好地适用于普通用户的需要,灵活性较差,而且在处理较为复杂的文本时生成的正则表达式准确性较差。
发明内容
本发明提供了一种正则表达式的生成方法、装置、电子设备及介质,以增强生成方法的通用性和灵活性,扩大用户的使用范围,提高生成正则表达式的准确性。
根据本发明的一方面,提供了一种正则表达式的生成方法,包括:
获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;
采用关键词提取算法确定所述第一文本数据的目标关键词;
基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
根据本发明的另一方面,提供了一种正则表达式的生成装置,包括:
获取模块,用于获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;
确定模块,用于采用关键词提取算法确定所述第一文本数据的目标关键词;
生成模块,用于基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的正则表达式的生成方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的正则表达式的生成方法。
本发明实施例提供了一种正则表达式的生成方法、装置、电子设备及介质,所述方法包括:获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;采用关键词提取算法确定所述第一文本数据的目标关键词;基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。利用上述技术方案,通过确定选取操作对应的第一文本数据,以及采用关键词提取算法确定第一文本数据的目标关键词,能够准确地生成原始文本数据的目标正则表达式,提高了生成正则表达式的准确性,同时增强了生成方法的通用性和灵活性,扩大了用户的使用范围。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种正则表达式的生成方法的流程图;
图2是根据本发明实施例二提供的一种正则表达式的生成方法的流程图;
图3是根据本发明实施例二提供的一种正则表达式的生成方法的示意图;
图4是根据本发明实施例三提供的一种正则表达式的生成装置的结构示意图;
图5是根据本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种正则表达式的生成方法的流程图,本实施例可适用于对正则表达式进行生成的情况,该方法可以由正则表达式的生成装置来执行,该正则表达式的生成装置可以采用硬件和/或软件的形式实现,该正则表达式的生成装置可配置于电子设备中。
可以认为的是,现有技术中存在一些用于生成正则表达式的工具和库,但大多数主要为开发人员设计的,需要具有一定的编程知识和技能。
对于普通用户,目前的选择相对有限,其中,一些在线工具和应用程序可以帮助用户生成正则表达式,但通常需要用户自己输入要匹配的文本和所需的正则表达式模式,这对于非专业人士来说可能会有一定的学习曲线,而且在处理较为复杂的文本时可能会出现错误。
除此之外,一些文本编辑器和IDE也具有自动生成正则表达式的功能,但这些功能通常为编程人员设计的,不能较好地适用普通用户的需要,灵活性较差。
基于此,本发明实施例提供了一种正则表达式的生成方法,能够识别输入文本的模式,并使用生成正则表达式的算法或模型,根据文本中的模式生成相应的正则表达式,此外,还可以验证生成的正则表达式是否有效,并根据需要进行调整,增强了生成方法的通用性和灵活性,扩大了用户的使用范围,提高了生成正则表达式的准确性。如图1所示,该方法包括:
S110、获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据。
原始文本数据可以认为是用户原始输入的文本数据,原始文本数据的数据量不限,如原始文本数据可以为一段文本,也可以为一句话等;选取操作可以是指选取原始文本数据中部分文本数据的操作,第一文本数据即为原始文本数据中与选取操作对应的文本数据,本实施例不对选取操作的具体类型以及第一文本数据的具体内容进行限定,示例性的,选取操作可以为滑动选取第一文本数据的操作,也可以为点击第一文本数据的操作,如点击第一文本数据起始与终止位置以选中第一文本数据的操作;第一文本数据则可以由用户的选取操作具体确定。
本实施例首先可以对用户作用在所输入原始文本数据的选取操作进行获取,并在获取到选取操作后,进一步确定选取操作对应的原始文本数据中的第一文本数据,以基于确定的第一文本数据执行后续的步骤。其中,获取选取操作的方式不限,如可以在电子设备中设置选取按键,在用户点击选取按键后获取;还可以在应用程序内设置选取按键,在用户点击选取按键后获取。S120、采用关键词提取算法确定所述第一文本数据的目标关键词。
可以认为的是,关键词主要是能够表达文本中心内容的词语,可用于计算机系统标引论文内容特征、信息检索、系统汇集等。关键词提取算法可以是指从文本中自动识别出用于表达文本主题的词或短语的算法。关键词提取算法的具体类型不限,如在本实施例中,关键词提取算法可以为TF-IDF和/或TextRank算法等。目标关键词则可以理解为表达第一文本数据中心内容的词语。
在确定了第一文本数据之后,本步骤可以采用关键词提取算法对第一文本数据的目标关键词进行确定,例如,可以采用关键词提取算法直接对第一文本数据的目标关键词进行确定,也可以进一步结合原始文本数据的原始信息,采用关键词提取算法对第一文本数据的目标关键词进行确定,如原始信息可以为原始文本数据的词语信息,也可以为原始文本数据的文本类型。词语信息可以为原始文本数据中词语的信息,如词语的个数、词性或词义信息等;文本类型可以用于表征原始文本数据的类型,如新闻文本或科学类文本等。
在一个实施例中,所述在采用关键词提取算法确定所述第一文本数据的目标关键词之前,还包括:
对所述原始文本数据进行预处理,得到预处理后文本数据;
对所述预处理后文本数据进行标注处理,得到所述预处理后文本数据的词语信息。
在一个实施方式中,在采用关键词提取算法确定第一文本数据的目标关键词之前,可以先对原始文本数据进行预处理,得到预处理后文本数据,预处理后文本数据可以理解为原始文本数据中有效的数据,预处理的手段例如可以是去除原始文本数据中的无效数据,如无关字符、标点符号和/或停用词等;在得到预处理后文本数据后,可以对得到的预处理后文本数据进行标注处理,来得到预处理后文本数据的词语信息,标注处理的具体过程不限,如可以直接从预处理后文本数据的第一个词语开始,对词语的信息依次进行标注,也可以先得到预处理后文本数据中所包含的所有词语,再对每个词语的信息进行标注,来得到每个词语的词语信息。
在一个实施例中,所述对所述预处理后文本数据进行标注处理,得到所述预处理后文本数据的词语信息,包括:
对所述预处理后文本数据进行分词处理,得到所述预处理后文本数据中的至少一个词语;
标注各词语的词性,得到所述预处理后文本数据的词语信息。
在一个实施方式中,得到词语信息的过程例如可以为:先对预处理后文本数据进行分词处理,得到预处理后文本数据中所包含的至少一个词语,如得到预处理后文本数据中所包含的所有词和/或词组;在得到各词语后,则可以标注各词语的词性,来得到预处理后文本数据的词语信息,例如可以依次对每个词语进行词性标注,以此得到每个词或词组的词性。其中,分词可以是指将连续的文本序列切分成一个个具有独立意义的词或词组的过程;词性标注可以是指为分词后的每个词语标注其词性。词性表示了一个词语在上下文中的语法角色和词义信息,常见的词性包括名词、动词、形容词等。
在一个实施例中,所述采用关键词提取算法确定所述第一文本数据的目标关键词,包括:
根据所述词语信息,采用关键词提取算法提取所述第一文本数据的初始关键词;
对所述初始关键词进行转义处理,得到所述第一文本数据的目标关键词。
初始关键词可以是指采用关键词提取算法初步提取的第一文本数据的关键词。
在本实施例中,可以进一步结合上述步骤得到的词语信息,采用关键词提取算法来对第一文本数据的目标关键词进行确定,示例性的,可以根据词语信息,采用关键词提取算法先提取得到第一文本数据的初始关键词,如可以根据各词语的词性,采用关键词提取算法来提取第一文本数据的初始关键词;进一步地可以根据用户需求对提取的初始关键词进行相应的处理,来最终得到第一文本数据的目标关键词,例如,可以转换为特定格式、转义处理和/或其他处理等,转义处理可以是指对特殊字符或符号进行转义等。
S130、基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
目标正则表达式用于对原始文本数据进行处理,如目标正则表达式可以是一种用于匹配和操作原始文本数据的强大工具,可以是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
通过上述步骤得到第一文本数据以及第一文本数据的目标关键词后,则可以基于目标关键词和第一文本数据对原始文本数据的目标正则表达式进行生成,本实施对生成目标正则表达式的具体方法不作限定,如可以根据第一文本数据的实际情况进行确定,还可以结合上下文信息来生成目标正则表达式等等。
本发明实施例一提供的一种正则表达式的生成方法,获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;采用关键词提取算法确定所述第一文本数据的目标关键词;基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。利用该方法,通过确定选取操作对应的第一文本数据,以及采用关键词提取算法确定第一文本数据的目标关键词,能够准确地生成原始文本数据的目标正则表达式,提高了生成正则表达式的准确性,同时增强了生成方法的通用性和灵活性,扩大了用户的使用范围。
在一个实施例中,所述基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词和所述第一文本数据生成所述原始文本数据的初始正则表达式;
对所述初始正则表达式进行优化调整,得到所述原始文本数据的目标正则表达式。
初始正则表达式可以是指基于目标关键词和第一文本数据初步生成的正则表达式。
在一个实施方式中,可以对生成的初始正则表达式作进一步优化和调整,以提高生成正则表达式的准确性。具体的,可以基于目标关键词和第一文本数据来生成原始文本数据的初始正则表达式;进而可以对生成的初始正则表达式进行优化调整,以此得到原始文本数据的目标正则表达式,优化调整例如可以通过使用更精确的模式、消除冗余的匹配规则或调整量词和限定符方法来实现。
实施例二
图2是根据本发明实施例二提供的一种正则表达式的生成方法的流程图,本实施例二在上述各实施例的基础上进行优化。在本实施例中,将基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式进一步具体化为:确定所述第一文本数据的数据类型;基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式。
本实施例尚未详尽的内容请参考实施例一。
如图2所示,该方法包括:
S210、获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据。
S220、采用关键词提取算法确定所述第一文本数据的目标关键词。
S230、确定所述第一文本数据的数据类型。
数据类型可以用于表征第一文本数据的类型,例如数据类型可以为日期或电话号码等。
本步骤可以对第一文本数据的数据类型进行确定,以用于后续目标正则表达式的生成,其中,具体确定第一文本数据的数据类型的方法不限,如可以通过对第一文本数据进行识别来得到第一文本数据的数据类型,也可以直接根据第一文本数据的内容来确定第一文本数据的数据类型,本实施例对此不作限定。
S240、基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
在确定了第一文本数据的数据类型之后,则可以结合确定的数据类型,以及目标关键词和第一文本数据来准确生成原始文本数据的目标正则表达式,本实施例不对生成目标正则表达式的过程作进一步赘述,只要能生成目标正则表达式即可。
本发明实施例二提供的一种正则表达式的生成方法,获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;采用关键词提取算法确定所述第一文本数据的目标关键词;确定所述第一文本数据的数据类型;基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。利用该方法,通过结合第一文本数据的数据类型来生成目标正则表达式,进一步提高了生成正则表达式的准确性。
在一个实施例中,在所述基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式之前,还包括:
对所述第一文本数据进行格式处理,得到第二文本数据;
所述基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词、所述数据类型以及所述第二文本数据生成所述原始文本数据的目标正则表达式。
在一个实施方式中,还可以对第一文本数据进行格式处理得到第二文本数据,从而进一步结合得到的第二文本数据来生成目标正则表达式。格式处理的方式例如可以由用户需求来确定,也可以根据特定领域的约束条件来确定,示例性的,可以对第一文本数据的长度进行处理来得到第二文本数据。
在一个实施例中,所述基于所述目标关键词、所述数据类型以及所述第二文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词、所述数据类型、所述第二文本数据以及所述第一文本数据的上下文信息生成所述原始文本数据的目标正则表达式。
在一个实施方式中,第一文本数据可能受到上下文信息的影响,例如第一文本数据出现在特定句子结构中,又或者第一文本数据可以与其他文本数据相关联,故在生成目标正则表达式时,可以考虑上下文信息以增强准确性。即本实施例可以进一步结合第一文本数据的上下文信息来生成原始文本数据的目标正则表达式。
下面对本发明实施例提供的正则表达式的生成方法进行示例性的描述:图3是根据本发明实施例二提供的一种正则表达式的生成方法的示意图,如图3所示,首先用户需要提供包含目标关键词的文本样本,以便进行正则表达式模型的分析和生成,假设用户提供的文本样本可以为一段英文文本,内容可以为:"I have a cat and a dog.My cat's nameis[Max and my dog's name is"Charlie."(即原始文本数据),其中,用户划取的内容可以为:划词内容为Max,标签为name1;划词内容为Charlie,标签为name2。
本实施例首先则可以获取用户提供的文本样本,即"I have a cat and adog.Mycat's name is[Max and my dog's name is"Charlie."。
步骤2可以对用户提供的文本进行预处理来提取出有效信息(即对所述原始文本数据进行预处理,得到预处理后文本数据),预处理可以包括去除无关字符、标点符号、停用词等,如预处理后的文本可以为:"I have a cat and a dog My cat s name is[Max andmy dog s name is"Charlie"。
步骤3可以对预处理后的文本进行分词和词性标注,来获取词语的基本信息(即对所述预处理后文本数据进行分词处理,得到所述预处理后文本数据中的至少一个词语;标注各词语的词性,得到所述预处理后文本数据的词语信息),其中,分词可以是将连续的文本序列切分成一个个具有独立意义的词或词组的过程;词性标注可以是指为分词后的每个词语标注其词性,词性可以表示一个词语在上下文中的语法角色和词义信息,常见的词性包括名词、动词、形容词等。如分词和词性标注后的结果可以为:["I","have","a","cat","and","a","dog","My","cat","s","name","is","[Max","and","my","dog","s","name","is",""Charlie"]。
步骤4可以基于分词和词性标注结果,使用关键词提取算法(如TF-IDF、TextRank)从文本中提取出最相关的关键词(即根据所述词语信息,采用关键词提取算法提取所述第一文本数据的初始关键词),这些关键词可以作为生成正则表达式模型的基础,如提取的关键词可以为:["[Max",""Charlie"]。
步骤5可以根据用户需求,对提取出的关键词进行进一步处理(即对所述初始关键词进行转义处理,得到所述第一文本数据的目标关键词),如转换为特定的格式要求(如大小写等)、处理特殊字符或符号的转义、确定关键词之间的逻辑关系等,例如,处理后的关键词可以为:["\\[Max","["]Charlie"]。
步骤6可以根据用户提供的文本样本和需求,识别字段的类型(即确定所述第一文本数据的数据类型),例如日期、邮箱、电话号码、URL等,以此可以根据字段类型的特点生成更准确的正则表达式。示例性的,识别出字段标识可以为:"\\[Max"为"name1""["]Charlie"为"name2"。
步骤7可以根据用户需求和特定领域的约束条件,对字段进行进一步处理(即对所述第一文本数据进行格式处理,得到第二文本数据),如字段的最小长度、最大长度、特定字符的要求等。示例性的,字段信息为"[Max"时,提取的字段可以为"Max";字段信息为""Charlie"时,提取的字段可以为"Charlie"。若无特定的约束条件,可以跳过此步骤。
在步骤8中字段可能受到上下文信息的影响,例如字段可以出现在特定句子结构中或与其他字段相关联,故本实施例在生成正则表达式模型时,可以考虑上下文信息以增强匹配的准确性。通过观察样本文本,可以确定以下匹配模式:name is(.*?),故这个正则表达式模式可以匹配以"name is"开头,并以空格结尾的字段内容。括号中的部分(.*?)可以表示匹配任意长度的字段内容,并将其作为提取的结果。
那么,使用上述正则表达式模式进行匹配,则可以提取出两个字段内容:
"Max"(位于"name is"之后的第一个字段);
"Charlie"(位于"name is"之后的第二个字段)。
考虑到字段是名字,可能出现在句子中间或者后面的位置。
步骤9可以根据字段的特性和约束条件,选择合适的正则表达式元字符、限定符,以构建匹配字段内容的规则(即基于所述目标关键词、所述数据类型、所述第二文本数据以及所述第一文本数据的上下文信息生成所述原始文本数据的目标正则表达式)。在这个例子中,可以使用正则表达式模式"name is(.*?)"来匹配名字字段。
步骤10可以在生成正则表达式时,要考虑异常情况的处理,示例性的,存在缺失字段、字段格式错误或不完整的情况。
当名字字段缺失时,可以使用正则表达式模式"name is(.*?)",其中的括号内的部分可以匹配到名字字段为空的情况。
当缺失字段处理时,即如果在文本样本中缺少某个字段,可以在生成的正则表达式模式中使用可选项或条件判断来处理缺失字段。例如,假设用户提供的文本样本是:"Ihave a cat.My cat's name is Max.",其中没有提及狗的名字。在这种情况下,可以使用正则表达式模式name is(.*?)来匹配名字字段,同时在正则表达式中添加适当的条件判断,以处理缺失字段的情况。例如,可以使用(name is(.*?))|(name is missing),其中(name is missing)表示缺失字段的情况。
当字段格式错误处理时,如果字段的格式错误,即字段内容不符合预期的格式,可以使用更灵活的正则表达式模式来处理。例如,假设用户提供的文本样本是:"I have acat.My cat's name is 12345.",其中名字字段包含了数字。在这种情况下,可以使用正则表达式模式name is([A-Za-z]+),其中[A-Za-z]+表示只匹配包含字母的字段内容,而不匹配数字或其他非字母字符。
步骤11可以对生成的正则表达式(即初始正则表达式)进行优化和调整,以提高匹配的准确性和效率,如可以通过使用更精确的模式、消除冗余的匹配规则、调整量词和限定符方法来实现(即对所述初始正则表达式进行优化调整,得到所述原始文本数据的目标正则表达式)。
步骤12可以为工具创建用户友好的界面,使用户能够轻松输入文本样本、指定需求和查看生成的正则表达式模型。
通过上述描述可以发现,本发明实施例提供的一种正则表达式的生成方法能够为用户提供一种方便的方式来生成适用于文本搜索和处理的正则表达式,如通过划选关键词或短语,能够自动识别并生成相应的正则表达式,提供更高效和准确的文本处理功能。
具体的,首先可以实现文本分析和模式识别,例如可以利用浏览器扩展功能,检测用户在网页上的操作,当用户划选文本时,可以获取用户所选的关键词或短语。并通过自然语言处理技术,对获取的文本进行分词、词性标注和实体识别等处理,以识别关键词的边界和语法上下文。这一步骤可以使用现有的自然语言处理库(如Spacy、NLTK等)来实现。
然后可以实现关键词转化为正则表达式模式,即基于分析得到的关键词和语法上下文信息,能够使用特定的规则和模式生成对应的正则表达式。这些规则可以基于常见的文本模式、语言特性和用户约定。
进一步地,可以采用基于规则的方法,利用词性标注和语法结构来生成模式,也可以使用机器学习模型,根据训练数据集中的关键词和对应的正则表达式样本,进行模式生成。
进而可以实现正则表达式验证和优化,即生成的正则表达式需要经过验证和优化,以确保其正确性和有效性。如通过使用正则表达式解析器可以来验证生成的表达式是否符合语法规则,并进行必要的修正和调整。以此避免生成无效的表达式,并确保生成的正则表达式可以正确地匹配用户所选的文本。
最后还可以实现用户界面和交互,即可以提供友好的用户界面,使用户可以轻松划选关键词,并实时显示生成的正则表达式。用户也可以在界面上进行必要的调整,包括修改匹配模式、添加限制条件等。还可以提供保存和导出生成的正则表达式的功能,以便用户在其他环境中使用。
综上所述,本发明实施例提供的正则表达式的生成方法能够为用户提供了快速、准确、便捷的正则表达式生成工具,通过分析用户划选的关键词和语法上下文,利用规则或机器学习生成相应的正则表达式,以便用户可以方便地用于文本处理场景,如搜索、替换、匹配等;能够提供用户界面进行交互和调整,以实现快速、准确地生成适用于文本搜索和处理的正则表达式的功能。
实施例三
图4是根据本发明实施例三提供的一种正则表达式的生成装置的结构示意图。如图4所示,该装置包括:
获取模块310,用于获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;
确定模块320,用于采用关键词提取算法确定所述第一文本数据的目标关键词;
生成模块330,用于基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
本发明实施例三提供的一种正则表达式的生成装置,通过获取模块获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;通过确定模块采用关键词提取算法确定所述第一文本数据的目标关键词;通过生成模块基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。利用该装置,通过确定选取操作对应的第一文本数据,以及采用关键词提取算法确定第一文本数据的目标关键词,能够准确地生成原始文本数据的目标正则表达式,提高了生成正则表达式的准确性,同时扩大了用户的使用范围。
可选的,所述生成模块330包括:
确定单元,用于确定所述第一文本数据的数据类型;
生成单元,用于基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式。
可选的,所述生成模块330还包括:
处理单元,用于在所述基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式之前,对所述第一文本数据进行格式处理,得到第二文本数据;
所述生成单元包括:
生成子单元,用于基于所述目标关键词、所述数据类型以及所述第二文本数据生成所述原始文本数据的目标正则表达式。
可选的,所述生成子单元具体用于:
基于所述目标关键词、所述数据类型、所述第二文本数据以及所述第一文本数据的上下文信息生成所述原始文本数据的目标正则表达式。
可选的,本发明实施例三提供的一种正则表达式的生成装置还包括:
预处理模块,用于所述在采用关键词提取算法确定所述第一文本数据的目标关键词之前,对所述原始文本数据进行预处理,得到预处理后文本数据;
标注处理模块,用于对所述预处理后文本数据进行标注处理,得到所述预处理后文本数据的词语信息。
可选的,所述标注处理模块具体用于:
对所述预处理后文本数据进行分词处理,得到所述预处理后文本数据中的至少一个词语;
标注各词语的词性,得到所述预处理后文本数据的词语信息。
可选的,所述确定模块320具体用于:
根据所述词语信息,采用关键词提取算法提取所述第一文本数据的初始关键词;
对所述初始关键词进行转义处理,得到所述第一文本数据的目标关键词。
可选的,所述生成模块330具体用于:
基于所述目标关键词和所述第一文本数据生成所述原始文本数据的初始正则表达式;
对所述初始正则表达式进行优化调整,得到所述原始文本数据的目标正则表达式。
本发明实施例所提供的正则表达式的生成装置可执行本发明任意实施例所提供的正则表达式的生成方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5是根据本发明实施例四提供的一种电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如正则表达式的生成方法。
在一些实施例中,正则表达式的生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的正则表达式的生成方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行正则表达式的生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种正则表达式的生成方法,其特征在于,包括:
获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;
采用关键词提取算法确定所述第一文本数据的目标关键词;
基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,包括:
确定所述第一文本数据的数据类型;
基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式之前,还包括:
对所述第一文本数据进行格式处理,得到第二文本数据;
所述基于所述目标关键词、所述数据类型以及所述第一文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词、所述数据类型以及所述第二文本数据生成所述原始文本数据的目标正则表达式。
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标关键词、所述数据类型以及所述第二文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词、所述数据类型、所述第二文本数据以及所述第一文本数据的上下文信息生成所述原始文本数据的目标正则表达式。
5.根据权利要求1所述的方法,其特征在于,在所述采用关键词提取算法确定所述第一文本数据的目标关键词之前,还包括:
对所述原始文本数据进行预处理,得到预处理后文本数据;
对所述预处理后文本数据进行标注处理,得到所述预处理后文本数据的词语信息。
6.根据权利要求5所述的方法,其特征在于,所述对所述预处理后文本数据进行标注处理,得到所述预处理后文本数据的词语信息,包括:
对所述预处理后文本数据进行分词处理,得到所述预处理后文本数据中的至少一个词语;
标注各词语的词性,得到所述预处理后文本数据的词语信息。
7.根据权利要求5或6所述的方法,其特征在于,所述采用关键词提取算法确定所述第一文本数据的目标关键词,包括:
根据所述词语信息,采用关键词提取算法提取所述第一文本数据的初始关键词;
对所述初始关键词进行转义处理,得到所述第一文本数据的目标关键词。
8.根据权利要求1所述的方法,其特征在于,所述基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,包括:
基于所述目标关键词和所述第一文本数据生成所述原始文本数据的初始正则表达式;
对所述初始正则表达式进行优化调整,得到所述原始文本数据的目标正则表达式。
9.一种正则表达式的生成装置,其特征在于,包括:
获取模块,用于获取用户作用在所输入原始文本数据的选取操作,并确定所述选取操作对应的原始文本数据中的第一文本数据;
确定模块,用于采用关键词提取算法确定所述第一文本数据的目标关键词;
生成模块,用于基于所述目标关键词和所述第一文本数据生成所述原始文本数据的目标正则表达式,所述目标正则表达式用于对所述原始文本数据进行处理。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的正则表达式的生成方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的正则表达式的生成方法。
CN202311052430.3A 2023-08-18 2023-08-18 一种正则表达式的生成方法、装置、电子设备及介质 Pending CN117034874A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311052430.3A CN117034874A (zh) 2023-08-18 2023-08-18 一种正则表达式的生成方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311052430.3A CN117034874A (zh) 2023-08-18 2023-08-18 一种正则表达式的生成方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN117034874A true CN117034874A (zh) 2023-11-10

Family

ID=88638901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311052430.3A Pending CN117034874A (zh) 2023-08-18 2023-08-18 一种正则表达式的生成方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117034874A (zh)

Similar Documents

Publication Publication Date Title
EP3819785A1 (en) Feature word determining method, apparatus, and server
CN111177532A (zh) 一种垂直搜索方法、装置、计算机系统及可读存储介质
WO2020232898A1 (zh) 文本分类方法、装置、电子设备及计算机非易失性可读存储介质
CN112528681A (zh) 跨语言检索及模型训练方法、装置、设备和存储介质
CN114579104A (zh) 数据分析场景的生成方法、装置、设备及存储介质
CN112182141A (zh) 一种关键信息抽取方法、装置、设备和可读存储介质
CN116012481A (zh) 图像生成处理方法、装置、电子设备及存储介质
CN113836316B (zh) 三元组数据的处理方法、训练方法、装置、设备及介质
CN110705285B (zh) 一种政务文本主题词库构建方法、装置、服务器及可读存储介质
CN113761923A (zh) 命名实体识别方法、装置、电子设备及存储介质
CN117371406A (zh) 基于大型语言模型的注释生成方法、装置、设备及介质
CN112560425A (zh) 模板生成方法、装置、电子设备及存储介质
CN114090885B (zh) 产品标题核心词提取方法、相关装置及计算机程序产品
CN114461665B (zh) 用于生成语句转换模型的方法、装置及计算机程序产品
CN115600592A (zh) 文本内容的关键信息提取方法、装置、设备及介质
CN115034209A (zh) 文本分析方法、装置、电子设备以及存储介质
CN114647727A (zh) 应用于实体信息识别的模型训练方法、装置和设备
CN117034874A (zh) 一种正则表达式的生成方法、装置、电子设备及介质
CN114048315A (zh) 确定文档标签的方法、装置、电子设备和存储介质
CN113326691B (zh) 数据处理方法和装置、电子设备、计算机可读介质
CN114662469B (zh) 情感分析方法、装置、电子设备及存储介质
CN114330345B (zh) 命名实体识别方法、训练方法、装置、电子设备及介质
CN114186552B (zh) 文本分析方法、装置、设备及计算机存储介质
CN115455179B (zh) 敏感词汇检测方法、装置、设备及存储介质
CN114417871B (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