CN105868166B - 一种正则表达式的生成方法及*** - Google Patents
一种正则表达式的生成方法及*** Download PDFInfo
- Publication number
- CN105868166B CN105868166B CN201510032801.0A CN201510032801A CN105868166B CN 105868166 B CN105868166 B CN 105868166B CN 201510032801 A CN201510032801 A CN 201510032801A CN 105868166 B CN105868166 B CN 105868166B
- Authority
- CN
- China
- Prior art keywords
- character string
- character
- preset
- collected
- regular expression
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/16—Automatic learning of transformation rules, e.g. from examples
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种正则表达式的生成方法及***。该方法包括:获得预设字符串;响应于触发指令获得预设字符串中的待收集字符串;从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串;从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串;根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。利用本申请实施例可以生成用户需要字符串的正则表达式。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种正则表达式的生成方法及***。
背景技术
正则表达式是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
一般可以通过正则表达式生成工具来生成正则表达式。现有的正则表达式生成工具包括Txt2re。Txt2re可以提供多个文本项选定按钮。通过某个文本项选定按钮,Txt2re工具可以执行对应规则的处理。这种处理通常包括提取一段字符串中具有相应规则的部分字符串,并由提取的部分字符串生成对应正则表达式的代码。以利用Txt2re生成一段日志的正则表达式为例,具体步骤包括:
S1:Txt2re工具通过文本框接收输入的日志。假设该段日志为:
10.200.98.220--[28/Jun/2013:14:53:08+0800]"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri %2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12 XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1"0.024 18204 200 37"-" "aliyun-sdk-java"
S2:Txt2re工具遍历输入的日志中的每个字符,识别日志中具有一定规则的字符串,并按照预设规则生成对应日志中每个字符串的正则表达式标记。
例如,Txt2re工具遍历输入的日志中的每个字符,在遍历完“10.200.98.220”这些字符时,根据预设规则判断这一串字符为一IPv4的地址,并生成代表该字段的正则表达式标记“ipaddress”。
S3:Txt2re工具接收单击界面中"show matches"按钮的指令,响应该指令并显示日志中的字符串及对应的正则表达式标记,并且在所述正则表达式标记上提供点击命令。如图1所示,通过接收点击的"show matches"按钮,Txt2re工具可以显示一个区域。在该区域中分两行分别显示日志内容和与日志内容中所识别字符串对应的正则表达式标记。并且,在所述正则表达式标记上提供可点击的按钮。
S4:Txt2re工具接收单击上述标记为“ipaddress”的按钮,对对应的字符串“10.200.98.220”进行处理并生成对应该字符串正则表达式的代码。
后续,操作人员可以手工或者利用其它工具将所述代码转化为对应字段的正则表达式。
由此可见,Txt2re工具可以按预设规则提供多个待收集字符串选定按钮。通过单击某个待收集字符串的选定按钮,Txt2re工具就可以生成该待收集字符串对应的正则表达式。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
现有技术利用Txt2re工具生成正则表达式时,可以获取的正则表达式是有限的,也即只能提供符合一定规则字符串的正则表达式,不能按照用户的需要生成正则表达式。比如上述日志中,Txt2re工具可以提供包括“[28/Jun/2013:14:53:08+0800]”这个字符串对应的选定按钮。但这个字符串中的中括号并没有太大意义,所以用户可以选择的话,一般会选择字符串“28/Jun/2013:14:53:08+0800”,也即用户需要去掉括号后的这个字符串的正则表达式。但现有技术并没有给用户选择的机会。因此,利用现有技术生成正则表达式,灵活性差,无法满足用户需要。
发明内容
本申请实施例的目的是提供一种正则表达式的生成方法及***,可以生成用户需要字符串的正则表达式。
为解决上述技术问题,本申请实施例提供一种正则表达式的生成方法及***是这样实现的:
一种正则表达式的生成方法,包括:
获得预设字符串;
响应于触发指令获得预设字符串中的待收集字符串;
从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串;
从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串;
根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
一种正则表达式的生成***,包括:
预设字符串获得单元,用于获得预设字符串;
待收集字符串获得单元,用于响应于触发指令获得预设字符串中的待收集字符串;
第一字符串获得单元,用于从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串;
第二字符串获得单元,用于从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串;
正则表达式生成单元,用于根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
由以上本申请实施例提供的技术方案可见,本申请实施例通过响应于触发指令,根据用户的需要获取预设字符串中待收集字符串,并根据预设规则生成所述待收集字符串的正则表达式。与现有技术相比,大大提高了用户使用的灵活性,可以根据用户需要生成相应字符串的正则表达式,进而可以根据该正则表达式解析出对用户有用的字符串。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中Txt2re工具匹配日志的部分示意图;
图2是本申请一种正则表达式的生成方法一个实施例的流程图;
图3是本申请一种正则表达式的生成***一个实施例的流程图。
具体实施方式
本申请实施例提供一种正则表达式的生成方法及***。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下以几个具体的例子详细说明本申请实施例的具体实现。
以下首先介绍本申请一种正则表达式的生成方法的实施例。结合附图2,该实施例包括:
S100:获得预设字符串。
本申请实施例中,获取预设字符串可以通过响应用户导入的操作,这里的预设字符串可以是一段日志,比如:
“[2015-01-07 18:50:36.432][INFO]access-127.0.0.1--"GET/user/projects/ali-sls-test HT TP/1.1"304-"http://localhost:8888/""Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_1)AppleW ebKit/537.36(KHTML,like Gecko)Chrome/39.0.2171.95 Safari/537.36"”
这是一条访问日志,记录的内容包括用户访问服务时的信息,比如用户的IP,用户请求的统一资源定位符(Uniform Resource Locator,URL),用户使用的浏览器等等。
此外,本申请实施例所述的获取预设字符串的实现方式可以是通过响应用户导入的操作,在实际中还可以是其他形式,本申请实施例并不以此为限。
进一步的,本申请实施例所述的预设字符串可以是一段日志,在实际中还可以是其他形式,例如一段符合一定句法规则的字符串,本申请实施例并不以此为限。
S200:响应于触发指令获得预设字符串中的待收集字符串。
本申请实施例中,所述触发指令具体可以包括用户根据具体的需要选择并拖拽预设字符串中的部分字符串的操作;还可以包括用户点击预设字符串中的部分字符串的起始位置触发的第一指令,以及点击所述部分字符串的结束位置触发的第二指令,所述第二指令还可以包括用户按住预设快捷键并点击所述部分字符串的结束位置的操作。
以下述一段日志片段为例,假设获取的预设字符串为:
“[2014-11-02 19:46:03.895][INFO]access-127.0.0.1--"GET/HTTP/1.1"304-"OK"”
假设用户想要收集的字符串,也即待收集字符串为:“2014-11-02 19:46:03.895”,那么用户选择并拖拽待该字符串的操作可以触发指令,根据触发指令从所述预设字符串中识别出所述待收集字符串为:“2014-11-02 19:46:03.895”。
进一步的,用户可以任意选中想要收集的字符串,但一般用户选中的字符串是具有一定意义的字符串。比如用户选中的字符串可以为“INFO”,也可以是“IN”,但前者是具有一定意义的,代表了日志级别,而后者则没有意义,即使选中后生成相应的正则表达式也没有意义。
此外,本申请实施例所述触发指令的实现方式可以包括选择并拖拽预设字符串中的部分字符串的操作或者点击预设字符串中的部分字符串的起始位置第一指令,以及点击预设字符串中的部分字符串的结束位置的第二指令,在实际中还可以是其他形式,例如选择并右击预设字符串中的部分字符串所在区域的操作等,本申请实施例并不以此为限。
S300:从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串。
以步骤S200中所述的预设字符串:“[2014-11-02 19:46:03.895][INFO]access-127.0.0.1- -"GET/HTTP/1.1"304-"OK"”为例。
当待收集字符串为:“2014-11-02 19:46:03.895”时,从所述预设字符串中识别在所述待收集字符串前面的字符串为:“[”,也即所述第一字符串为:“[”。
S400:从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串。
以步骤S300中所述的例子,那么预设字符串中在所述待收集字符串后面的字符串,也即所述第二字符串为:“][INFO]access-127.0.0.1--"GET/HTTP/1.1"304-"OK"”。
S500:根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
所述第一预设规则具体包括:
这里要生成待收集正则表达式,首先需要判断所述第一字符串和所述待收集字符串中的字符特征,并根据所述第一字符串和所述待收集字符串中的字符特征生成第一部分正则表达式。具体是通过执行下述步骤S510至S530的操作至确定第一部分正则表达式:
S510:当所述第一字符串符合第二预设规则时,返回对应结果并作为所述第一部分正则表达式。
这里的第二预设规则具体包括:
当所述第一字符串不为空,且所述第一字符串是纯数字字符组成,且所述待收集字符串为空或所述待收集字符串的第一个字符不是纯数字字符时;返回第一预设标识。
所述第一预设标识为"\\d+",表示所述第一字符串是由数字组成。
当所述第一字符串不为空,且所述第一字符串是包含字母的纯单词字符组成,且所述待收集字符串为空或所述待收集字符串的第一个字符不是纯单词字符时;返回第二预设标识。
所述第二预设标识为“\\w+”,表示所述第一字符串是由单词字符组成。
进一步的,所述纯单词字符包括:a-z、A-Z、0-9。
当所述第一字符串不为空,且所述第一字符串是非空字符组成,且所述待收集字符串为空字符串或所述待收集字符串的第一个字符是空字符时;返回第三预设标识。
所述第三预设标识为“\\S+”,表示所述第一字符串是由非空字符组成。
进一步的,这里的空字符包括:空格、“\t”、“\n”、“\r”、“\v”、“\f”。其中,“\t”是转义字符,代表水平制表(Tab);“\n”是转义字符,代表换行;“\r”是转义字符,代表回车;“\v”是转义字符,代表垂直制表;“\f”是转义字符,代表换页。因此,只要不是空格、“\t”、“\n”、“\r”、“\v”、“\f”的字符都是非空字符。
当所述第一字符串为空时;返回第四预设标识。
所述第四预设标识为“”,表示所述第一字符串为空。
进一步的,当第一字符串不符合第二预设规则时,可以判断所述待收集字符串的字符特征。
S520:当所述待收集字符串符合第三预设规则时,返回对应结果并作为所述第一部分正则表达式。
这里的第三预设规则包括:
当所述待收集字符串不为空,且所述待收集字符串的第一个字符是分隔符号,且所述第一字符串不包含所述待收集字符串的第一个字符时,返回第五预设标识。
所述分隔符号包括“”(空格),“[”(中括号),“]”(中括号),“\"”(双引号),“-”(连字符),“\t”(Tab),“:”(冒号),“,”(逗号),“;”(分号)。
进一步的,所述第五预设标识包括“[^”+所述待收集字符串的第一个字符+“]+”,代表所述待收集字符串不为空,且所述待收集字符串的第一个字符为分隔字符,且所述第一字符串不包含所述待收集字符串的第一个字符。
当所述待收集字符串为空时,返回第六预设标识。
所述第六预设标识为“.*”,表示所述待收集字符串为空。
进一步的,当所述待收集字符串不符合第三预设规则时,可以进一步判断所述第一字符串的字符特征。
S530:当所述第一字符串符合第四预设规则时,返回对应结果并作为所述第一部分正则表达式。
这里的第四预设规则包括:
定义第一预设变量,依次遍历所述第一字符串中的字符,判断所述第一字符串中的字符是否为分隔字符。
当所述判断为是时,将所述字符追加到第一预设变量。
例如:定义的第一预设变量为res1=“”,假设所述第一字符串为“-”,也即在遍历所述第一字符串时,所述第一字符串中的字符为分隔字符,故将所述字符追加到第一预设变量后, res1=“-”。
其中,空格,“\t”(Tab)需要转义变成“\\s”;“[”(中括号)需要转义变成“\\[”;“\"” (双引号)需要转义变成“\\\"”;其他的分隔字符可以直接追加到第一预设变量。
例如:定义的第一预设变量为res1=“”,假设所述第一字符串为“-[”,也即在遍历所述第一字符串时,所述第一字符串中的字符为分隔字符,故将所述字符追加到第一预设变量后,res1=“-\\s\\[”。
当所述判断为否时,停止遍历。
判断是否遍历全部所述第一字符串中的字符。
当遍历全部所述第一字符串中的字符时,返回第一预设变量。
当前第一预设变量作为所述第一部分正则表达式。
当没有遍历全部所述第一字符串中的字符,且当所述没有遍历的字符串中不包含分隔字符时;获取所述第一字符串中没有遍历的字符串,调用步骤S510。将所述第一字符串中没有遍历的字符串作为所述第一字符串。
进一步的,当当前第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
进一步的,当当前第一字符串符合第四预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
进一步的,当没有遍历全部所述第一字符串中的字符,且当所述没有遍历的字符串中包含分隔字符时,获取所述第一字符串中没有遍历的字符串。
根据所述没有遍历的字符串中的第一个分隔字符将所述没有遍历的字符串分隔为第一个分隔字符前面的字符串、第一个分隔字符和第一个分隔字符后面的字符串。
进一步的,将所述第一个分隔字符前面的字符串作为第一字符串,调用步骤S510。当当前第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量。
进一步的,当当前第一字符串不符合第二预设规则时,将所述第一个分隔字符作为待收集字符串,调用步骤S520。当当前待收集字符串符合第三预设规则时,将返回的结果追加到第一预设变量。
当当前待收集字符串不符合第三预设规则时,判断当前第一字符串是否符合第四预设规则。当所述判断为是时,将返回的结果追加到第一预设变量。
进一步的,将所述第一分隔字符作为第一字符串,调用步骤S510。当当前第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
进一步的,将所述第一个分隔字符后面的字符串作为待收集字符串,调用步骤S520。当当前待收集字符串符合第三预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
进一步的,将所述第一分隔字符作为第一字符串,当当前第一字符串符合第四预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
进一步的,所述第一预设规则还包括:
需要判断所述待收集字符串和所述第二字符串中的字符特征,并根据所述待收集字符串和所述第二字符串中的字符特征生成第二部分正则表达式。将所述待收集字符串作为上述确定第一部分正则表达式操作中的第一字符串,将所述第二字符串作为上述确定第一部分正则表达式操作中的待收集字符串,并执行上述操作,将返回的结果作为第二部分正则表达式。具体包括:
S540:将所述待收集字符串作为第一字符串,调用步骤S510。当当前第一字符串符合第二预设规则时,返回结果作为所述第二部分正则表达式。
进一步的,所述第一预设规则还可以包括:
S550:将所述第二字符串作为待收集字符串,调用步骤S520。当当前待收集字符串符合第三预设规则时,返回结果作为所述第二部分正则表达式。
进一步的,所述第一预设规则还可以包括:
S560:将所述待收集字符串作为第一字符串,调用步骤S530。当当前第一字符串符合第四预设规则时,返回结果作为所述第二部分正则表达式。
进一步的,所述第一预设规则还可以包括:
S570:根据所述第一部分正则表达式和所述第二部分正则表达式生成所述待收集字符串的正则表达式。
这里根据所述第一部分正则表达式和所述第二部分正则表达式生成所述待收集字符串的正则表达式,需要先判断所述第二部分正则表达式是否以第五预设标识(“.*”)结尾;
当所述判断为是时,将所述第一部分正则表达式和所述第二部分正则表达式以一定规则拼接生成所述带收集的字符串的正则表达式。
假设所述第一部分正则表达式为:reg1,所述第二部分正则表达式为:reg2,那么所述待收集字符串的正则表达式为:reg1+“(”+reg2+“)”。
当所述判断为否时,将所述第一部分正则表达式、所述第二部分正则表达式和所述第五预设标识以一定规则拼接生成所述带收集的字符串的正则表达式。
假设所述第一部分正则表达式为:reg1,所述第二部分正则表达式为:reg2,那么所述待收集字符串的正则表达式为:reg1+“(”+reg2+“)”+.*。
进一步的,正则表达式的结尾一般以第五预设标识(“.*”)结尾。其中“.”表示一个任意字符,“*”表示0个或多个,“.*”就是匹配后面有任意多个字符或者没有字符,由于生成待收集字符串的正则表达式不用包括后面的字符的特征,所以用“.*”结尾。
需要说明的是,上述生成正则表达式的步骤顺序,实际上并不限定必须严格按照上述顺序。有些步骤也可以在互不依赖的情况下并行执行,比如步骤S510至S530。
以下以上述例子详细说明正则表达式的获得方法:
所述待收集字符串为:“2014-11-02 19:46:03.895”,所述第一字符串为:“[”,那么所述第二字符串为:“][INFO]access-127.0.0.1--"GET/HTTP/1.1"304-"OK"”。
先判断所述第一字符串“[”,所述第一字符串"["不符合步骤S510有关的第二预设规则,进入步骤S520判断所述待收集字符串“2014-11-02 19:46:03.895”,所述待收集字符串“2014-11-02 19:46:03.895”不符合步骤S520有关的第三预设规则,进入步骤S530,依次遍历所述第一字符串“[”中的字符,判断所述第一字符串中的字符是否为分隔字符,“[”是分隔字符且需要转义,故返回“\\[”作为第一部分正则表达式。
然后将所述待收集字符串“2014-11-02 19:46:03.895”作为上述确定第一部分正则表达式操作中的第一字符串,将所述第二字符串“][INFO]access-127.0.0.1--"GET/HTTP/1.1"304 -"OK"”作为上述确定第一部分正则表达式操作中的待收集字符串,并执行上述操作。先判断字符串“2014-11-02 19:46:03.895”,该字符串“2014-11-02 19:46:03.895”不符合步骤S510 有关的第二预设规则,进入步骤S520开始判断字符串“][INFO]access-127.0.0.1--"GET/ HTTP/1.1"304-"OK"”,该字符串符合步骤S520所述的第三预设规则中当所述待收集字符串不为空,且所述待收集字符串的第一个字符是分隔符号,且所述第一字符串不包含所述待收集字符串的第一个字符的规则,也即该字符串的第一个字符"]"是分隔符号,且此处字符串“2014-11-02 19:46:03.895”不包含字符串“][INFO]access-127.0.0.1--"GET/HTTP/1.1"304 -"OK"”的第一个字符“]”,返回“[^]]+”作为第二部分正则表达式。
由于第二部分正则表达式为:“[^]]+”,不是以第五预设标识(“.*”)结尾,故当用户需要收集的字符串为:“2014-11-02 19:46:03.895”时,最终生成的正则表达式为:\\[([^]]+).*。
进一步的,当用户需要获得输入的整个日志片段的正则表达式时,可以通过依次选中具有一定意义的字符串,最后以一定规则将每个选中的字符串的正则表达式拼接起来。
比如上述日志片段:“[2014-11-02 19:46:03.895][INFO]access-127.0.0.1--"GET/ HTTP/1.1"304-"OK"”。
首先,选中“2014-11-02 19:46:03.895”,所述第一字符串为:“[”,所述待收集字符串为: “2014-11-02 19:46:03.895”,所述第二字符串为:“][INFO]access-127.0.0.1--"GET/ HTTP/1.1"304-"OK"”,故返回的结果为“\\[([^]]+).*”。
然后,选中“INFO”,所述第一字符串为:“][”,所述待收集字符串为:“INFO”,所述第二字符串为:“]access-127.0.0.1--"GET/HTTP/1.1"304-"OK"”,故返回的结果为“]\\s\\[(\\w+).*”。
接着,选中“access”,所述第一字符串为:“]”,所述待收集字符串为:“access”,所述第二字符串为:“-127.0.0.1--"GET/HTTP/1.1"304-"OK"”,故返回的结果为“]\\s(\\w+).*”。
接着,选中“127.0.0.1”,所述第一字符串为:“-”,所述待收集字符串为:“127.0.0.1”,所述第二字符串为:“--"GET/HTTP/1.1"304-"OK"”,故返回的结果为“\\s-\\s(\\S+).*”。
接着,选中“GET/HTTP/1.1”,所述第一字符串为:“--"”,所述待收集字符串为:“GET /HTTP/1.1”,所述第二字符串为:“"304-"OK"”,故返回的结果为“\\s-\\s-\\s\"([^\"]+).*”。
接着,选中“304”,所述第一字符串为:“"”,所述待收集字符串为:“304”,所述第二字符串为:“-"OK"”,故返回的结果为“\"\\s(\\d+).*”。
接着,选中“OK”,所述第一字符串为:“-"”,所述待收集字符串为:“OK”,所述第二字符串为:“"”,故返回的结果为“\\s-\\s\"(\\w+).*”。
最后,将上述返回的结果拼接起来,除了最后的返回结果,其他返回结果结尾的“ .*”去掉,并对转义的字符进行恢复,得到最终的正则表达式为:
\[([^]]+)\d+]\s\[(\w+)]\s(\w+)\w+\s-\s(\s+)\s-\s-\s"([^"]+)\d+"\s(\d+)\s-\s"(\w+).*
进一步的,当要获取多于一个具有一定意义的字符串的正则表达式时,所述前面的字符串选择的时候是选择所述要收集的字符串之前的字符串,但要去除已经选择过的字符串及选择过字符串前面的字符串。
由此可见,本申请实施例提供的技术方案通过响应于触发指令,可以根据用户的需要获取预设字符串中待收集字符串,并根据预设规则生成所述待收集字符串的正则表达式。与现有技术相比,大大提高了用户使用的灵活性,可以根据用户需要生成相应字符串的正则表达式,进而可以根据该正则表达式解析出对用户有用的字符串。
以下介绍本申请一种正则表达式的生成***的实施例。结合附图3,该***600包括:
预设字符串获得单元610,用于获得预设字符串。
待收集字符串获得单元620,用于响应于触发指令获得预设字符串中的待收集字符串。
第一字符串获得单元630,用于从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串。
第二字符串获得单元640,用于从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串。
正则表达式生成单元650,用于根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
在一个优选的实施例中,所述待收集字符串获得单元620包括:
第一操作模块,用于响应选择并拖拽所述预设字符串中的部分字符串的操作指令,获得待收集字符串;或,
第二操作模块,用于响应点击所述预设字符串中的部分字符串的起始位置的第一指令,以及响应点击所述预设字符串中的部分字符串的结束位置的第二指令,获得待收集字符串;或,
第三操作模块,用于选择并响应右击所述预设字符串中的部分字符串所在区域的操作指令,获得待收集字符串。
由此可见,本申请实施例提供的一种正则表达式的生成方法及***,通过响应于触发指令,可以根据用户的需要获取预设字符串中待收集字符串,并根据预设规则生成所述待收集字符串的正则表达式。与现有技术相比,大大提高了用户使用的灵活性,可以根据用户需要生成相应字符串的正则表达式,进而可以根据该正则表达式解析出对用户有用的字符串。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、 Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (30)
1.一种正则表达式的生成方法,其特征在于,包括:
获得预设字符串;
响应于触发指令获得预设字符串中的待收集字符串;
从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串;
从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串;
根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
2.根据权利要求1所述的正则表达式的生成方法,其特征在于,所述触发指令包括:
选择并拖拽所述预设字符串中的部分字符串的操作;或,
点击所述预设字符串中的部分字符串的起始位置的第一指令,以及点击所述部分字符串的结束位置的第二指令;或,
选择并右击所述预设字符串中的部分字符串所在区域的操作。
3.根据权利要求1所述的正则表达式的生成方法,其特征在于,所述第一预设规则包括:
当所述第一字符串符合第二预设规则时,返回对应结果并作为第一部分正则表达式;
所述第二预设规则包括:
当所述第一字符串不为空,且所述第一字符串是纯数字字符组成,且所述待收集字符串为空或所述待收集字符串的第一个字符不是纯数字字符时,返回第一预设标识。
4.根据权利要求3所述的正则表达式的生成方法,其特征在于,所述第二预设规则还包括:
当所述第一字符串不为空,且所述第一字符串是包含字母的纯单词字符组成,且所述待收集字符串为空或所述待收集字符串的第一个字符不是纯单词字符时,返回第二预设标识。
5.根据权利要求3所述的正则表达式的生成方法,其特征在于,所述第二预设规则还包括:
当所述第一字符串不为空,且所述第一字符串是非空字符组成,且所述待收集字符串为空字符串或所述待收集字符串的第一个字符是空字符时,返回第三预设标识。
6.根据权利要求3所述的正则表达式的生成方法,其特征在于,所述第二预设规则还包括:
当所述第一字符串为空时,返回第四预设标识。
7.根据权利要求1所述的正则表达式的生成方法,其特征在于,所述第一预设规则包括:
当所述待收集字符串符合第三预设规则时,返回对应结果并作为第一部分正则表达式。
8.根据权利要求7所述的正则表达式的生成方法,其特征在于,所述第三预设规则包括:
当所述待收集字符串不为空,且所述待收集字符串的第一个字符是分隔符号,且所述第一字符串不包含所述待收集字符串的第一个字符时,返回第五预设标识。
9.根据权利要求7所述的正则表达式的生成方法,其特征在于,所述第三预设规则包括:
当所述待收集字符串为空时,返回第六预设标识。
10.根据权利要求1所述的正则表达式的生成方法,其特征在于,所述第一预设规则包括:
当所述第一字符串符合第四预设规则时,返回对应结果并作为第一部分正则表达式,所述第四预设规则与第二预设规则不同。
11.根据权利要求10所述的正则表达式的生成方法,其特征在于,所述第四预设规则包括:
定义第一预设变量,依次遍历所述第一字符串中的字符,判断所述第一字符串中的字符是否为分隔字符;
当所述判断为是时,将所述字符追加到第一预设变量;
当所述判断为否时,停止遍历;
判断是否遍历全部所述第一字符串中的字符。
12.根据权利要求11所述的正则表达式的生成方法,其特征在于,当遍历全部所述第一字符串中的字符时,所述第四预设规则还包括:
返回第一预设变量。
13.根据权利要求11所述的正则表达式的生成方法,其特征在于,当没有遍历全部所述第一字符串中的字符,且当所述没有遍历的字符串中不包含分隔字符时,所述第四预设规则还包括:
获取所述第一字符串中没有遍历的字符串,将所述第一字符串中没有遍历的字符串作为所述第一字符串。
14.根据权利要求13所述的正则表达式的生成方法,其特征在于,当所述第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
15.根据权利要求13所述的正则表达式的生成方法,其特征在于,当所述第一字符串符合第四预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
16.根据权利要求11所述的正则表达式的生成方法,其特征在于,当没有遍历全部所述第一字符串中的字符,且当所述没有遍历的字符串中包含分隔字符时,所述第四预设规则还包括:
获取所述第一字符串中没有遍历的字符串;
根据所述没有遍历的字符串中的第一个分隔字符将所述没有遍历的字符串分隔为第一个分隔字符前面的字符串、第一个分隔字符和第一个分隔字符后面的字符串。
17.根据权利要求16所述的正则表达式的生成方法,其特征在于,将所述第一个分隔字符前面的字符串作为第一字符串,当所述第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量。
18.根据权利要求16所述的正则表达式的生成方法,其特征在于,将所述第一个分隔字符前面的字符串作为第一字符串,当所述第一字符串不符合第二预设规则时,所述第四预设规则还包括:
将所述第一个分隔字符作为待收集字符串,当所述待收集字符串符合第三预设规则时,将返回的结果追加到第一预设变量。
19.根据权利要求16所述的正则表达式的生成方法,其特征在于,将所述第一个分隔字符前面的字符串作为第一字符串,当所述第一字符串符合第四预设规则时,所述第四预设规则还包括:
将返回的结果追加到第一预设变量。
20.根据权利要求17至19任一项所述的正则表达式的生成方法,其特征在于,所述第四预设规则还包括:
将所述第一个分隔字符作为第一字符串,当所述第一字符串符合第二预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
21.根据权利要求17至19任一项所述的正则表达式的生成方法,其特征在于,所述第四预设规则还包括:
将所述第一个分隔字符后面的字符串作为待收集字符串,当所述待收集字符串符合第三预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
22.根据权利要求17至19任一项所述的正则表达式的生成方法,其特征在于,所述第四预设规则还包括:
将所述第一个分隔字符作为第一字符串,当所述第一字符串符合第四预设规则时,将返回的结果追加到第一预设变量,返回第一预设变量。
23.根据权利要求3、4、5、6、7或10任一项所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
将所述待收集字符串作为第一字符串,将所述第二字符串作为所述待收集字符串,当所述第一字符串符合第二预设规则时,返回对应结果并作为第二部分正则表达式。
24.根据权利要求23所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
根据所述第一部分正则表达式和所述第二部分正则表达式生成所述待收集字符串的正则表达式。
25.根据权利要求3、4、5、6、7或10任一项所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
将所述第二字符串作为待收集字符串,当所述待收集字符串符合第三预设规则时,返回对应结果并作为第二部分正则表达式。
26.根据权利要求25所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
根据所述第一部分正则表达式和所述第二部分正则表达式生成所述待收集字符串的正则表达式。
27.根据权利要求3、4、5、6、7或10任一项所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
将所述待收集字符串作为第一字符串,当所述第一字符串符合第四预设规则时,返回对应结果并作为第二部分正则表达式,所述第四预设规则与第二预设规则不同。
28.根据权利要求27所述的正则表达式的生成方法,其特征在于,所述第一预设规则还包括:
根据所述第一部分正则表达式和所述第二部分正则表达式生成所述待收集字符串的正则表达式。
29.一种正则表达式的生成***,其特征在于,包括:
预设字符串获得单元,用于获得预设字符串;
待收集字符串获得单元,用于响应于触发指令获得预设字符串中的待收集字符串;
第一字符串获得单元,用于从所述预设字符串中识别在所述待收集字符串前面的字符串,所述前面的字符串作为第一字符串;
第二字符串获得单元,用于从所述预设字符串中识别在所述待收集字符串后面的字符串,所述后面的字符串作为第二字符串;
正则表达式生成单元,用于根据所述待收集字符串、所述第一字符串和所述第二字符串的字符特征以第一预设规则生成所述待收集字符串的正则表达式。
30.根据权利要求29所述的正则表达式的生成***,其特征在于,所述待收集字符串获得单元包括:
第一操作模块,用于响应选择并拖拽所述预设字符串中的部分字符串的操作指令,获得待收集字符串;或,
第二操作模块,用于响应点击所述预设字符串中的部分字符串的起始位置的第一指令,以及响应点击所述预设字符串中的部分字符串的结束位置的第二指令,获得待收集字符串;
或,
第三操作模块,用于选择并响应右击所述预设字符串中的部分字符串所在区域的操作指令,获得待收集字符串。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032801.0A CN105868166B (zh) | 2015-01-22 | 2015-01-22 | 一种正则表达式的生成方法及*** |
TW104128417A TW201627888A (zh) | 2015-01-22 | 2015-08-28 | 正則表達式的生成方法及系統 |
PCT/US2016/014372 WO2016118778A1 (en) | 2015-01-22 | 2016-01-21 | Generating regular expression |
US15/003,723 US9760551B2 (en) | 2015-01-22 | 2016-01-21 | Generating regular expression |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032801.0A CN105868166B (zh) | 2015-01-22 | 2015-01-22 | 一种正则表达式的生成方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105868166A CN105868166A (zh) | 2016-08-17 |
CN105868166B true CN105868166B (zh) | 2020-01-17 |
Family
ID=56417764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510032801.0A Active CN105868166B (zh) | 2015-01-22 | 2015-01-22 | 一种正则表达式的生成方法及*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US9760551B2 (zh) |
CN (1) | CN105868166B (zh) |
TW (1) | TW201627888A (zh) |
WO (1) | WO2016118778A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868166B (zh) * | 2015-01-22 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种正则表达式的生成方法及*** |
US10775751B2 (en) * | 2016-01-29 | 2020-09-15 | Cisco Technology, Inc. | Automatic generation of regular expression based on log line data |
CN107680579B (zh) * | 2017-09-29 | 2020-08-14 | 百度在线网络技术(北京)有限公司 | 文本正则化模型训练方法和装置、文本正则化方法和装置 |
CN108062422B (zh) * | 2018-01-22 | 2020-06-26 | 中国平安人寿保险股份有限公司 | 一种分页查询的排序方法、智能终端、***及存储介质 |
CN109800339A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 正则表达式生成方法、装置、计算机设备及存储介质 |
US11341581B2 (en) | 2019-07-09 | 2022-05-24 | Digits Financial, Inc. | System and method for regular expression generation for improved data transfer |
CN110909160A (zh) * | 2019-10-11 | 2020-03-24 | 平安科技(深圳)有限公司 | 正则表达式生成方法、服务器及计算机可读存储介质 |
CN111159497B (zh) * | 2019-12-31 | 2023-09-22 | 奇安信科技集团股份有限公司 | 正则表达式的生成方法及基于正则表达式的数据提取方法 |
CN111949836A (zh) * | 2020-07-31 | 2020-11-17 | 上海中通吉网络技术有限公司 | 正则表达式的应用方法及*** |
CN112084438A (zh) * | 2020-09-01 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 扫码跳转数据处理方法、装置、设备及*** |
CN112115313B (zh) * | 2020-09-08 | 2023-07-28 | 北京百度网讯科技有限公司 | 正则表达式的生成、数据提取方法、装置、设备及介质 |
CN114385868B (zh) * | 2021-12-07 | 2022-09-30 | 广东宜通衡睿科技有限公司 | 一种正则表达式生成方法、装置、介质及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902682A (zh) * | 2014-03-21 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 信息查询方法和装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20010136A (fi) * | 2001-01-23 | 2002-07-24 | Republica Jyvaeskylae Oy | Menetelmä ja laitteisto tiedon uudelleenryhmittelemiseksi |
US6785677B1 (en) * | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US20060167873A1 (en) * | 2005-01-21 | 2006-07-27 | Degenaro Louis R | Editor for deriving regular expressions by example |
US20070133593A1 (en) | 2005-11-21 | 2007-06-14 | Udaya Shankara | Searching Strings Representing a Regular Expression |
US7860881B2 (en) * | 2006-03-09 | 2010-12-28 | Microsoft Corporation | Data parsing with annotated patterns |
US20080071783A1 (en) | 2006-07-03 | 2008-03-20 | Benjamin Langmead | System, Apparatus, And Methods For Pattern Matching |
US7949670B2 (en) * | 2007-03-16 | 2011-05-24 | Microsoft Corporation | Language neutral text verification |
US20090070327A1 (en) * | 2007-09-06 | 2009-03-12 | Alexander Stephan Loeser | Method for automatically generating regular expressions for relaxed matching of text patterns |
US7818311B2 (en) * | 2007-09-25 | 2010-10-19 | Microsoft Corporation | Complex regular expression construction |
US8261241B2 (en) | 2008-05-09 | 2012-09-04 | Agere Systems Inc. | Converting format strings to regular expressions |
CN101794283A (zh) | 2009-02-03 | 2010-08-04 | 华为技术有限公司 | 字符串处理方法及***和匹配器 |
US9135249B2 (en) * | 2009-05-29 | 2015-09-15 | Xerox Corporation | Number sequences detection systems and methods |
US8843508B2 (en) | 2009-12-21 | 2014-09-23 | At&T Intellectual Property I, L.P. | System and method for regular expression matching with multi-strings and intervals |
CN102541888A (zh) * | 2010-12-20 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 专利电子文件解析***及方法 |
US8898583B2 (en) * | 2011-07-28 | 2014-11-25 | Kikin Inc. | Systems and methods for providing information regarding semantic entities included in a page of content |
US20130282739A1 (en) * | 2012-04-18 | 2013-10-24 | International Business Machines Corporation | Generating a log parser by automatically identifying regular expressions matching a sample log |
US8620928B1 (en) * | 2012-07-16 | 2013-12-31 | International Business Machines Corporation | Automatically generating a log parser given a sample log |
US8909642B2 (en) | 2013-01-23 | 2014-12-09 | Splunk Inc. | Automatic generation of a field-extraction rule based on selections in a sample event |
EP2784692A1 (en) | 2013-03-28 | 2014-10-01 | Hewlett-Packard Development Company, L.P. | Filter regular expression |
CN105868166B (zh) * | 2015-01-22 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种正则表达式的生成方法及*** |
-
2015
- 2015-01-22 CN CN201510032801.0A patent/CN105868166B/zh active Active
- 2015-08-28 TW TW104128417A patent/TW201627888A/zh unknown
-
2016
- 2016-01-21 US US15/003,723 patent/US9760551B2/en active Active
- 2016-01-21 WO PCT/US2016/014372 patent/WO2016118778A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902682A (zh) * | 2014-03-21 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 信息查询方法和装置 |
Non-Patent Citations (1)
Title |
---|
数据流应用层载荷特征正则表达式的自动提取;武飞等;《小型微型计算机***》;20140831;第35卷(第8期);1711-1716 * |
Also Published As
Publication number | Publication date |
---|---|
US9760551B2 (en) | 2017-09-12 |
US20160217121A1 (en) | 2016-07-28 |
CN105868166A (zh) | 2016-08-17 |
WO2016118778A1 (en) | 2016-07-28 |
TW201627888A (zh) | 2016-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105868166B (zh) | 一种正则表达式的生成方法及*** | |
US9383912B2 (en) | Data pasting method and apparatus | |
WO2016095689A1 (zh) | 基于终端界面多次触控操作进行识别搜索的方法及*** | |
US9342233B1 (en) | Dynamic dictionary based on context | |
CN105824830B (zh) | 一种显示页面的方法、客户端及设备 | |
US20240143904A1 (en) | Human-Computer Interaction Method And Apparatus Thereof | |
WO2016082598A1 (zh) | 一种快速查找应用程序的方法、装置及设备 | |
US11157444B2 (en) | Generating index entries in source files | |
US20220035886A1 (en) | Web browser with enhanced history classification | |
US20110099498A1 (en) | Graphical user interface hierarchy generation | |
CN105612511B (zh) | 标识并结构化相关数据 | |
US20160077673A1 (en) | Intelligent Canvas | |
US8799255B2 (en) | Button-activated contextual search | |
CN106156109B (zh) | 一种搜索方法及装置 | |
CN106970758B (zh) | 电子文档操作处理方法、装置和电子设备 | |
WO2017211202A1 (zh) | 数据的提取方法、装置及终端设备 | |
CN104899203B (zh) | 一种网页页面的生成方法、装置及终端设备 | |
CN114995691B (zh) | 一种文档处理方法、装置、设备和介质 | |
CN104049831A (zh) | 输入颜文字的方法及装置 | |
US20140372886A1 (en) | Providing help on visual components displayed on touch screens | |
CN105630837B (zh) | 一种媒体记录搜索方法和装置 | |
CN107168627B (zh) | 用于触摸屏的文本编辑方法和装置 | |
CN107562423B (zh) | Ui页面开发方法及装置 | |
CN105094668A (zh) | 一种信息处理方法及电子设备 | |
CN115081423A (zh) | 文档编辑方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1228047 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |