[发明专利]基于正则表达式的字符串匹配方法和装置有效
| 申请号: | 201210009272.9 | 申请日: | 2012-01-12 |
| 公开(公告)号: | CN102609459A | 公开(公告)日: | 2012-07-25 |
| 发明(设计)人: | 刘磊 | 申请(专利权)人: | 神州数码网络(北京)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 李虹青 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 正则 表达式 字符串 匹配 方法 装置 | ||
技术领域
本发明涉及数据处理领域,特别涉及基于正则表达式的字符串匹配方法和装置。
背景技术
正则表达式是一种正规的描述字符串模式的方法,可以用来进行文本匹配,具体为在给定的字符串中寻找与给定的正则表达式相匹配的部分。正则表达式由普通字符和元字符组成,普通字符包括数字和大小写的字母,而元字符是具有特殊的含义的字符,例如,“/s”表示任何空白字符,包括空格、制表符、换页符等,“.”表示除换行元字符“/n”以外的任意字符,“*”表示前面的子表达式重复零次或多次。正则表达式可以用来进行文本匹配,具体为在给定的字符串中寻找和匹配正则表达式相匹配的部分。正则表达式广泛应用在通信行业中,用于对数据流量进行模式匹配检查,例如进行协议解析、病毒检测和业务分类等。
在实际应用中,在进行文本匹配时,需要根据不同的匹配内容编写不同的字符串匹配结构,设计过程较为繁琐,而匹配内容的格式一旦改变,就需要重新设计字符串匹配结构,造成维护困难。
由此,需要自动根据正则表达式设计进行字符串匹配的方法和装置
发明内容
本发明的目的在于提供易于维护基于正则表达式的字符串匹配方法和装置。
本发明公开了一种基于正则表达式的字符串匹配方法,包括:
步骤100、解析匹配字符串,根据预先设定的段模式分隔符以及字符串格式判断匹配字符串的匹配类型为段模式还是行模式,根据判断得到的匹配类型设置匹配类型标识;
步骤200、根据匹配类型标识将匹配字符串按段分割或按行分割为多个子字符串,对每个子字符串确定正则表达式生成模式,并根据正则表达式生成模式以不同的连接式连接所述子字符串中以预定词组标记标识的词组生成子字符串正则表达式,获得包含至少一个子字符串正则表达式的正则表达式列表;
步骤300、根据匹配类型标识对待匹配数据进行按段分割或按行分割获得待匹配子字符串,按子字符串正则表达式逐一地对分割得到的待匹配子字符串进行匹配,输出匹配结果。
优选地,匹配类型为段模式是指所述匹配字符串的格式以所述预定的段模式分隔符为界进行重复,匹配类型为行模式是指所述匹配字符串格式为不符合段模式的其它模式。
优选地,所述按段分割是以预定段模式分隔符为界截取子字符串,所述按行分割是以换行符为界截取子字符串。
优选地,所述正则表达式生成模式包括列模式和非列模式,对于列模式,利用代表至少一个空白字符的连接正则表达式连接词组生成子字符串正则表达式,对于非列模式,利用代表至少一个非换行符的任意字符的连接则正表达式生成子字符串正则表达式。
优选地,所述步骤100包括:
步骤101、解析所述匹配字符串;
步骤102、判断所述匹配字符串的格式是否以预定的段模式分隔符为界进行重复,如果是,所述匹配字符串匹配类型为段模式,执行步骤103,如果否,所述匹配字符串匹配类型为行模式,执行步骤104;
步骤103、设置所述匹配字符串的匹配类型标识为段模式,结束步骤100流程;
步骤104、设置所述匹配字符串的匹配类型标识为行模式,结束100流程。
优选地,所述步骤200包括:
步骤201、判断所述匹配字符串的匹配类型标识为段模式还是行模式,如果为段模式,则执行步骤202,如果为行模式则执行步骤203;
步骤202、按段模式分隔符将所述匹配字符串分割为多个匹配子字符串,执行步骤204;
步骤203、按换行符将所述匹配字符串分割为多个子字符串,执行步骤204;
步骤204、取出一个未处理的匹配子字符串,根据预定的词组标记提取其中的由词组标记标识的词组和词组间字符;
步骤205、根据词组间字符判断所述匹配子字符串的正则表达式生成模式为列模式还是非列模式,如果是列模式,则执行步骤206,如果是非列模式,则执行步骤207;
步骤206、将在步骤204中提取的词组用表示至少一个空白字符的连接正则表达式连接为子字符串正则表达式,执行步骤208;
步骤207、将在步骤204中提取的词组用表示至少一个非换行符的任意字符的连接正则表达式连接为子字符串正则表达式,执行步骤208;
步骤208、将得到的子字符串正则表达式加入正则表达式列表;
步骤209、判断是否还有未处理的匹配子字符串,如果有,则执行步骤204,如果没有,则执行步骤210;
步骤210、结束正则表达式生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于神州数码网络(北京)有限公司,未经神州数码网络(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210009272.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:结构化膜和由其制造的制品
- 下一篇:电子投币式游戏机及其操作方法





