一种基于正则表达式的匹配方法及装置与流程

文档序号:12597930阅读:来源:国知局

技术特征:

1.一种基于正则表达式的匹配方法,其特征在于,该方法包括:

根据待匹配语句所属的业务类型,确定与所述业务类型对应的正则表达式集合;

将所述待匹配语句与所述正则表达式集合中的正则表达式进行匹配,得到匹配后的语句;

其中,所述正则表达式集合中的正则表达式是按照如下步骤生成的:

确定所述正则表达式集合所属的业务类型对应的数据库;

将所述数据库中的字,按照词性进行分类,得到至少一种类型的字;

对于每种类型的字,根据语法结构,将该类型中的任意两个或两个以上的字组成词;

将所述数据库中的词和所组成的词,按照词性进行分类,得到至少一种类型的词;

将至少一种类型的字、至少一种类型的词,和/或至少一个用于匹配任意字符的特定符号分别作为正则表达式的匹配项,并根据语法结构,将所述匹配项进行排序,形成至少一个正则表达式。

2.根据权利要求1所述的方法,其特征在于,将所述待匹配语句与所述正则表达式集合中的正则表达式进行匹配,得到匹配后的语句,包括:

将所述待匹配语句与所述正则表达式集合中的正则表达式中的每个匹配项进行匹配;

若所述待匹配语句与任一正则表达式的每个匹配项均匹配成功,且所述任一正则表达式的每个匹配项在所述待匹配语句中的排列顺序与在所述任一正则表达式中的排列顺序一致,根据所述任一正则表达式,确定匹配后的语句,其中,所述匹配后的语句包括所述待匹配语句中与所述任一表达式中的匹配项匹配的字符。

3.根据权利要求2所述的方法,其特征在于,所述根据所述任一正则表达式,确定匹配后的语句,包括:

确定所述任一正则表达式中的特定符号在所述任一正则表达式中的位置;

根据所述特定符号的编号,确定所述任一正则表达式中所述特定符号相邻的匹配项的位置;

根据所述特定符号相邻的匹配项的编号,确定所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符的位置;

根据所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符的位置,确定所述待匹配语句中与所述特定符号匹配的字符。

4.根据权利要求3所述的方法,其特征在于,根据所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符的位置,确定所述待匹配语句中与所述特定符号匹配的字符,包括:

若所述特定符号位于所述任一正则表达式中第一个位置,将所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符之前的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符;或者

若所述特定符号位于所述任一正则表达式中最后一个位置,将所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符之后的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符;或者

若所述特定符号位于所述任一正则表达式中除第一个位置与最后一个位置外的其他位置,将所述待匹配语句中与所述特定符号相邻的两个匹配项匹配的字符之间的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符。

5.根据权利要求1~4任一项所述的方法,其特征在于,若所述任一正则表达式中的至少一个匹配项配置有过滤规则,该方法还包括:

确定所述任一正则表达式中具有过滤规则的匹配项的位置,所述过滤规则表示对待匹配语句中与所述过滤规则对应的匹配项匹配的字符执行的操作;

根据具有过滤规则的匹配项的位置,确定出所述匹配后的语句中与具有过滤规则的匹配项对应的字符;

根据所述过滤规则,对所述匹配后的语句中与具有过滤规则的匹配项对应的字符,进行处理。

6.一种基于正则表达式的匹配装置,其特征在于,该装置包括:

确定模块,用于根据待匹配语句所属的业务类型,确定与所述业务类型对应的正则表达式集合;

处理模块,用于将所述待匹配语句与所述正则表达式集合中的正则表达式进行匹配,得到匹配后的语句;

其中,所述正则表达式集合中的正则表达式是按照如下步骤生成的:

确定所述正则表达式集合所属的业务类型对应的数据库;

将所述数据库中的字,按照词性进行分类,得到至少一种类型的字;

对于每种类型的字,根据语法结构,将该类型中的任意两个或两个以上的字组成词;

将所述数据库中的词和所组成的词,按照词性进行分类,得到至少一种类型的词;

将至少一种类型的字、至少一种类型的词,和/或至少一个用于匹配任意字符的特定符号分别作为正则表达式的匹配项,并根据语法结构,将所述匹配项进行排序,形成至少一个正则表达式。

7.根据权利要求6所述的装置,其特征在于,所述处理模块具体用于:

将所述待匹配语句与所述正则表达式集合中的正则表达式中的每个匹配项进行匹配;

若所述待匹配语句与任一正则表达式的每个匹配项均匹配成功,且所述任一正则表达式的每个匹配项在所述待匹配语句中的排列顺序与在所述任一正则表达式中的排列顺序一致,根据所述任一正则表达式,确定匹配后的语句,其中,所述匹配后的语句包括所述待匹配语句中与所述任一表达式中的匹配项匹配的字符。

8.根据权利要求7所述的装置,其特征在于,所述处理模块具体用于:

确定所述任一正则表达式中的特定符号在所述任一正则表达式中的位置;

根据所述特定符号的编号,确定所述任一正则表达式中所述特定符号相邻的匹配项的位置;

根据所述特定符号相邻的匹配项的编号,确定所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符的位置;

根据所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符的位置,确定所述待匹配语句中与所述特定符号匹配的字符。

9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:

若所述特定符号位于所述任一正则表达式中第一个位置,将所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符之前的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符;或者

若所述特定符号位于所述任一正则表达式中最后一个位置,将所述待匹配语句中与所述特定符号相邻的匹配项匹配的字符之后的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符;或者

若所述特定符号位于所述任一正则表达式中除第一个位置与最后一个位置外的其他位置,将所述待匹配语句中与所述特定符号相邻的两个匹配项匹配的字符之间的所有字符,确定为所述待匹配语句中与所述特定符号匹配的字符。

10.根据权利要求6~9任一项所述的装置,其特征在于,所述处理模块还用于:

若所述任一正则表达式中的至少一个匹配项配置有过滤规则,确定所述任一正则表达式中具有过滤规则的匹配项的位置,所述过滤规则表示对待匹配语句中与所述过滤规则对应的匹配项匹配的字符执行的操作;

根据具有过滤规则的匹配项的位置,确定出所述匹配后的语句中与具有过滤规则的匹配项对应的字符;

根据所述过滤规则,对所述匹配后的语句中与具有过滤规则的匹配项对应的字符,进行处理。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1