CN101794283A - 字符串处理方法及系统和匹配器 - Google Patents

字符串处理方法及系统和匹配器 Download PDF

Info

Publication number
CN101794283A
CN101794283A CN200910008578A CN200910008578A CN101794283A CN 101794283 A CN101794283 A CN 101794283A CN 200910008578 A CN200910008578 A CN 200910008578A CN 200910008578 A CN200910008578 A CN 200910008578A CN 101794283 A CN101794283 A CN 101794283A
Authority
CN
China
Prior art keywords
argument
value
mask
rule
matching
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
CN200910008578A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200910008578A priority Critical patent/CN101794283A/zh
Priority to PCT/CN2009/075902 priority patent/WO2010088833A1/zh
Priority to EP09839550A priority patent/EP2395438A4/en
Publication of CN101794283A publication Critical patent/CN101794283A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明实施例涉及一种字符串处理方法及系统和匹配器,其中,字符串处理方法包括:匹配器从对象库中获取经管理器转换后的待匹配的字符串和从规则库中获取由资源管理装置设置的规则;匹配器对上述规则的匹配串的位标记进行解析,对解析出的变元进行第一偏移量修正,对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;匹配器根据上述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定上述规则和待匹配字符串的匹配结果。上述字符串处理方法及系统和匹配器,通过对规则匹配串的每个位标记进行解析、偏移量修正和掩码处理,大大减少了需要使用的规则的数量和匹配的次数,提高了系统的性能。

Description

字符串处理方法及系统和匹配器
技术领域
本发明实施例涉及信息处理技术,特别涉及一种字符串处理方法及系统和匹配器。
背景技术
随着信息技术的快速发展,各种信息例如各种号码得到了广泛的应用。同时,基于不同的需求,需要对号码区分等级,而不同的地域,对于号码的分级规则也不相同;对于不同等级的号码可以收取不同的费用,或者提供不同的服务。但是,随着需求的增多,分类分级的规则也会越来越多,且会越来越复杂。例如,中国电信的移动号码业务推出了各种类型各种级别的号码,如吉祥号、个性号等;又如在号码的最后六位中,只包含2个递增的数字等。当然,不仅仅在通信领域需对号码进行分级,在其他领域,这种需求也非常广泛,例如需要对QQ号码、车牌号和会员号等进行分级。
目前,各种运营支撑系统使用电信业务运营支撑系统(Boss)中的号码管理模块管理与号码相关的业务,号码管理模块会使用相应的字符串精确匹配系统对数据量庞大的号码进行处理。字符串精确匹配系统支持对各种号码的等级和规则的制定和适配;该系统通常包括匹配规则配置模块、匹配规则解析器和匹配引擎模块几个部分。匹配规则配置模块通常使用正则表达式来进行匹配,使用者预定义一些正则表达式规则,满足需要达到的要求;然后由匹配引擎模块使用匹配规则解析器根据这些规则进行匹配,最终输出匹配结果。上述系统的工作过程如下:首先,定义规则的等级、类型,并对每种等级和类型的号码制定规则,规则一般是正则表达式或者匹配串。然后根据这些规则对号码进行匹配。
但是,发明人在实施上述技术方案的过程中发现上述技术方案存在如下缺陷:采用现有的规则匹配一些号码需要采用较多的匹配规则和匹配次数,例如对于递增或者递减字符串需要穷举????1234,????2345,????3456,????4567,????5678....所有可能的规则,位数越长,匹配次数越多;另外,采用现有的规则无法匹配一些号码,例如类似????1516这种跳位相同,跳位递增的号码;或,类似????1222中只出现两种递增数字的号码。
发明内容
本发明实施例提供一种字符串处理方法及系统和匹配器,以减少字符串匹配过程中需要使用的规则的数量和匹配的次数。
本发明实施例提供了一种字符串处理方法,该方法包括:
匹配器从对象库中获取经管理器转换后的待匹配的字符串和从规则库中获取由资源管理装置设置的规则;
匹配器对所述规则的匹配串的位标记进行解析,对解析出的变元进行第一偏移量修正,对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;
匹配器根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果。
本发明实施例提供了一种匹配器,该匹配器包括:
解析模块,用于对规则匹配串的每个位标记进行解析;
修正模块,用于对解析出的变元进行第一偏移量修正;
掩码处理模块,用于对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;
确定模块,用于根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果。
本发明实施例提供了一种字符串处理系统,该系统包括:
资源管理装置,用于设置匹配规则,并将所述匹配规则保存在规则库中;
管理器,用于接收来自所述资源管理装置的待匹配字符串,对所述待匹配字符串进行格式转换,并保存在对象库中;
匹配器,用于从所述对象库中获取待匹配的字符串和从规则库中获取规则;对所述规则匹配串的每个位标记进行解析,对解析出的变元进行偏移量修正,对进行偏移量修正后的变元按照掩码规则进行掩码处理,根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果;将所述匹配结果保存在所述对象库,并进一步提供给所述管理器和资源管理装置。
上述字符串处理方法及系统和匹配器,通过对规则匹配串的每个位标记进行解析,并对解析后的变元进行偏移量修正和掩码处理,大大减少了需要使用的规则的数量和匹配的次数,提高了系统的性能。
附图说明
图1为本发明字符串处理方法实施例一的流程图;
图2为本发明字符串处理方法实施例二的流程图;
图3为本发明匹配器实施例的结构示意图;
图4为本发明字符串处理系统实施例的结构示意图;
图5为本发明字符串处理方法实施例的信令流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明字符串处理方法实施例一的流程图,该方法包括:
步骤101、匹配器从对象库中获取经管理器转换后的待匹配的字符串和从规则库中获取由资源管理装置设置的规则;
Boss系统中的资源管理装置设置匹配规则,并将上述匹配规则保存在规则库中,Boss系统中的管理器对待匹配的字符串进行格式转换后保存在对象库中,匹配器从上述对象库中获取待匹配的字符串和从规则库中获取规则;
步骤102、匹配器对上述规则的匹配串的位标记进行解析,对解析出的变元进行第一偏移量修正,对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;
上述规则包括规则等级和规则分类等,其中规则等级用来区分在规则适配时的优先级,在同时满足多个规则的情况下,优先匹配高等级规则;规则分类可用于区分规则对不同的匹配对象,不同的应用场景进行匹配;
对于每个规则都包含一个通过定义各位字符形成的匹配串、偏移量串和变元库;其中,上述位标记可以为常量、通配符和变元;对上述位标记进行解析,若解析出的是常量,则直接将解析出的常量和待匹配的字符串的对应位的实际值进行比较,判断是否匹配成功;若解析出的是通配符,则当前位匹配成功;
上述对解析出的变元进行第一偏移量修正可以包括:判断解析出的变元是否存在变元库中,若是,则将上述变元的解析值加上上述第一偏移量后得到匹配值;否则,将变元和待匹配号码的对应位的值减去第一偏移量后的值结对保存到变元库中;
上述掩码规则一般是等式或不等式,左侧为位标记中使用的变元,右侧为掩码值,该掩码值可以是常量,也可以是掩码变元。若上述掩码值为常量,则将上述掩码值和上述变元进行比较;若上述掩码值为掩码变元,则判断上述掩码变元是否在上述变元库中存在,若存在,则从变元库中取出上述掩码变元的值作为掩码值,并将上述掩码值与上述变元进行比较;若不存在,将变元的值作为掩码变元的实际值,并加入变元库中;
步骤103、匹配器根据上述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定上述规则和待匹配字符串的匹配结果。
匹配器比较上述匹配串的位标记的匹配值和待匹配字符串对应位的实际值是否一致,若一致,则与上述匹配值对应的待匹配字符串的位匹配成功,否则匹配不成功;若上述匹配串的所有位标记和待匹配字符串对应位均匹配成功,则上述规则和待匹配字符串匹配成功;否则,上述规则不适用上述待匹配字符串。
上述字符串处理方法,通过对规则匹配串的每个位标记进行解析,并对解析后的变元进行偏移量修正和掩码处理得到匹配值,最后将匹配值与待匹配字符串的实际值进行比较获得匹配结果,大大减少了匹配字符串需要的规则的数量和需匹配的次数,提高了匹配效率。
如图2所示,为本发明字符串处理方法实施例二的流程图,该方法包括:
步骤201、对每一个待匹配的号码,按照规则等级从高到低的顺序进行匹配;
步骤202、对于当前规则,判断是否是直接采取正则表达式规则,若是则执行步骤220;否则执行步骤203;
步骤203、判断当前位标记是常量、通配符还是变元,若是常量,则执行步骤204,若是通配符,则当前位匹配成功,转向步骤218;若是变元,则执行步骤205;
假设本实施例中待匹配的号码及匹配使用的规则如表1所示,
表1待匹配的号码及匹配使用的规则对应表
Figure G2009100085780D0000051
其中,第1-3位为通配符,第4位为常量,第5-11位为变元;第6位和第8位的偏移量为1,其他位没有偏移量,即偏移量为0;且此处的偏移量为第一偏移量;掩码规则为:A!=4;B=A+1;C=x,y(表示x或y);D=x,y;E=x,y;
步骤204、将常量保存到待比较值中,执行步骤217;
将常量8保存到待比较值中,该值与待匹配字符串的第4位相同,匹配通过;
步骤205、判断在变元库中是否能检索到此变元,若是,则执行步骤206;否则,执行步骤207;
步骤206、将变元保存到待比较值中,执行步骤216;
对于第6位和第8位,由于在变元库中检索到将A=1和B=2保存在变元库中,故将变元保存到待比较值中;
步骤207、将变元和待匹配号码的对应位的值减去第一偏移量后的值结对保存到变元库中;
如果没有第一偏移量,则第一偏移量的值为0;
对于第5位和第7位,由于在变元库中没有检索到变元A和B,将A=1和B=2保存在变元库中;
步骤208、进行掩码检验处理,取出掩码值填入到掩码列表,从变元库取出变元的实际值;
掩码规则一般是等式或不等式,左侧为位标记中使用的变元,右侧为掩码值,该掩码值可以是常量,也可以是取值范围;
步骤209、依次对每个掩码值进行检验;
如果掩码规则是正规则(例如A=8,9),则各个掩码值检验结果是或的关系,即有一个成立即检验通过;如果掩码规则是反规则(例如A!=4,5),则各个掩码值检验结果是与的关系,即全部成立才算检验通过。如果通过,则这个掩码值的检验结束,进行下个掩码规则的处理;如果不通过,则此规则和号码不匹配;
下面检验A,B,C,D,E是否符合规则;
步骤210、判断掩码值是否是常量,若是,则执行步骤211,否则执行步骤212;
步骤211、直接将其和变元进行比较,转向步骤215;
A=2和A!=4相匹配,B=3=A+1=2+1,匹配通过;
步骤212、判断掩码变元在变元库中是否存在,若是,则执行步骤213,否则,执行步骤214;
步骤213、从变元库中取出掩码变元的值作为掩码值,与变元进行比较;
步骤214、需对其进行反向赋值,即将变元的值(C)作为此掩码变元的实际值,并加入到变元库中;
这样可在运行过程中根据号码本身确定变元和掩码变元的实际值。
由于x、y均不在变元库中,故C=7->x=C=7->D=8->y=D=8->E=7->E=x匹配通过;
由此可见,采用上述步骤可以解决递增类的字符串匹配,例如该实施例中的第四位和第五位,或者,第六位和第七位均属于递增类的字符串;同样,对于具有更多位的;当然,对于递减类的字符串的匹配也可采用上述步骤实现;另外,对变元的反向赋值,可以支持多位之间的重复校验,例如对该实施例中的第八位和第十位的校验。
另外,如果掩码的规则设置了第二偏移量,例如A=x,第二偏移量为1,则上述步骤213和步骤214中对x同样进行偏移量修正处理,即:如果掩码变元存在,例如x=6,则需要将其掩码值修正6+1=7,即A与7进行比较;如果掩码变元不存在,则对此变元进行反向赋值,但是需要先修正偏移量,例如A=6,则x=6-1。
步骤215、判断掩码检验步骤是否全部结束并通过,若是,则执行步骤218,否则转向步骤209;
步骤216、针对变元的偏移量修正数据,获得修正后的匹配值;如果位标记是常量,则不需要修正。
在前面的步骤中,已经得到了变元的解析值,但是还需要加上偏移量,才是这一位最后用于和实际的号码进行比较的值。偏移量可以是正或负的,如果没有偏移量就默认为0;
对于第6位和第8位根据偏移量进行修正,即A=1+1=2,B=2+1=3;
步骤217、比较修正后的匹配值或待比较值与号码对应位的值是否一致,若是,则执行步骤218;否则,则此号码不适用这个规则,转向步骤201;
转向步骤201的目的是进行下一个规则的匹配处理;
步骤218、判断是否进行完所有位的处理,若不是执行步骤219,否则,执行步骤221;
步骤219、进行下一位的处理,转向步骤203;
步骤220、根据需要进行正则表达式规则的匹配;
为了和一般的字符串处理方法相兼容,可以直接采用普通的正则表达式规则进行匹配;
步骤221、若所有位都匹配成功,则利用上述规则匹配待匹配字符串匹配成功。
上述字符串处理方法,通过对规则匹配串的每个位标记进行解析,并对解析后的变元进行偏移量修正和掩码处理得到匹配值,最后将匹配值与待匹配字符串的实际值进行比较获得匹配结果,大大减少了匹配的次数,提高了字符串的匹配效率;尤其是使用变元和偏移量减少了递增类或递减类字符串的匹配规则的数量和匹配次数;同时,通过对位标记和掩码设置变元,以及在运行期的动态解析和变元的反向赋值,可以支持多位之间的重复校验。
如图3所示,为本发明匹配器实施例的结构示意图,该匹配器包括:解析模块31,用于对规则匹配串的每个位标记进行解析;修正模块32,用于对解析出的变元进行第一偏移量修正;掩码处理模块33,用于对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;确定模块34,用于根据上述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定上述规则和待匹配字符串的匹配结果。
其中,为了对位标记解析出的常量进行匹配,上述匹配器还可以包括:常量保存模块35,用于将上述解析模块31解析出的变量保存到待比较值中;结果确定模块36,用于根据上述待比较值和待匹配字符串的对应位的实际值确定上述规则和待匹配字符串的匹配结果。为了对位标记解析出的通配符进行匹配,上述匹配器还可以包括:处理模块37,用于若上述解析模块解析出的位标记是通配符,则判断是否采用正则表达式规则,若是,则直接采用正则表达式规则,否则,重复执行对规则匹配串的每个位标记进行解析。
另外,为了可以对解析后的变元进行修正,上述修正模块可以包括:判断单元,用于判断解析出的变元是否存在变元库中;获得单元,用于当解析出的变元保存在变元库中时,则将上述变元的解析值加上上述第一偏移量后得到匹配值;保存单元,用于将变元和待匹配号码的对应位的值减去第一偏移量后的值结对保存到变元库中。为了可以对修正后的变元进行掩码处理,上述掩码规则包括变元和掩码值,上述掩码处理模块可以包括:常量处理单元,用于若上述掩码值为常量,则将上述掩码值和上述变元进行比较;变元处理单元,用于若上述掩码值为掩码变元,则判断上述掩码变元是否在上述变元库中存在,若存在,则从变元库中取出上述掩码变元的值作为掩码值,并将上述掩码值与上述变元进行比较;若不存在,将变元的值作为掩码变元的实际值,并加入变元库中。
进一步地,上述掩码规则也可以设置第二偏移量,上述常量处理单元可以用于对掩码值根据上述第二偏移量进行修正,将修正后的掩码值与上述变元进行比较;上述变元处理单元也可以对变元的值根据第二偏移量进行修正后得到匹配值,将上述匹配值作为掩码变元的实际值。
上述匹配器,通过解析模块对规则匹配串的每个位标记进行解析,并利用修正模块对解析后的变元进行偏移量修正和利用掩码处理模块进行掩码处理后得到匹配值,最后将匹配值与待匹配字符串的实际值进行比较获得匹配结果,大大减少了匹配使用的规则的数量和匹配次数,提高了字符串的匹配效率;尤其是使用变元和偏移量减少了递增类或递减类字符串的匹配规则的数量和匹配次数;同时,通过对位标记和掩码设置变元,以及在运行期的动态解析和变元的反向赋值,可以支持多位之间的重复校验。
如图4所示,为本发明字符串处理系统实施例的结构示意图,该系统包括:资源管理装置1,用于设置匹配规则,并将上述匹配规则保存在规则库中;管理器2,用于接收来自上述资源管理装置1的待匹配字符串,对上述待匹配字符串进行格式转换,并保存在对象库中;匹配器3,用于从上述对象库中获取待匹配的字符串和从规则库中获取规则;对上述规则匹配串的每个位标记进行解析,对解析出的变元进行偏移量修正,对进行偏移量修正后的变元按照掩码规则进行掩码处理,根据上述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定上述规则和待匹配字符串的匹配结果;将上述匹配结果保存在上述对象库,并进一步提供给上述管理器2和资源管理装置1。
上述字符串处理系统通过中间层适配器提供了对整个系统外部接口的封装,以使其能够对接各种接口方式以及批量接口;并提供定义扩展匹配规则的功能;资源管理装置设置匹配规则,并将上述匹配规则保存在规则库中。
管理器提供了对规则的定义和管理功能,提供了匹配过程的管理和控制。其中规则定义使用变元、偏移量、掩码,将大量的需匹配规则抽象为规则表示,同时融合正则表达式的配置,由用户在使用过程中根据需要定制。规则包含自己的分类和等级。对于各种待匹配对象将它们转换为统一格式保存在对象库。然后触发匹配器执行任务,任务执行结束后返回结果。上述规则库和对象库分别用于保存匹配规则和待匹配的对象,以及匹配结果。匹配器可以根据每次不同的需要和等级装载入对应的规则,然后对对象库中的待匹配对象进行匹配,在匹配过程中,可对引入变元的正则表达式和规则动态解析,以满足复杂规则配置的需求,并且匹配器的具体结构与本发明匹配器实施例的结构相同,在此不赘述。
另外,例如该系统进行字符串处理的过程如图5所示,该过程包括:
步骤301、资源管理装置设置规则,并发送至管理器;
步骤302、管理器将规则保存至规则库;
步骤303、规则库向管理器返回保存成功;
步骤304、管理器向资源管理返回操作成功;
步骤305、资源管理装置向管理器发送待匹配的字符串;
步骤306、管理器对待匹配号码进行格式转换,并保存在对象库中;
步骤307、管理器使用匹配器进行字符串匹配;
步骤308、匹配器从规则库中获取匹配规则进行解析、偏移量处理和掩码处理后得到匹配结果;
步骤309、将匹配结果记入对象库中;
步骤310、管理器从对象库获取匹配结果;
步骤311、对象库向管理器提供匹配结果;
步骤312、管理器向资源管理装置返回格式转换后的匹配结果。
上述字符串匹配系统,通过资源管理装置、管理器和匹配器之间的交互,完成了对规则匹配串的每个位标记进行解析,并对解析后的变元进行偏移量修正和掩码处理得到匹配值,最后将匹配值与待匹配字符串的实际值进行比较获得匹配结果,大大减少了匹配使用的规则的数量和匹配的次数,提高了字符串的匹配速度和匹配效率;尤其是使用变元和偏移量减少了递增类或递减类字符串的匹配规则的数量和匹配次数;同时,通过对位标记和掩码设置变元,以及在运行期的动态解析和变元的反向赋值,可以支持多位之间的重复校验;另外,该系统既可设置使用变元的正则表达式,又可以使用普通的正则表达式规则,系统兼容性好。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (13)

1.一种字符串处理方法,其特征在于包括:
匹配器从对象库中获取经管理器转换后的待匹配的字符串和从规则库中获取由资源管理装置设置的规则;
匹配器对所述规则的匹配串的位标记进行解析,对解析出的变元进行第一偏移量修正,对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;
匹配器根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果。
2.根据权利要求1所述的字符串处理方法,其特征在于所述匹配器对所述规则的匹配串的位标记进行解析之后还包括:
将解析出的变量保存到待比较值中;
根据所述待比较值和待匹配字符串的对应位的实际值确定所述规则和待匹配字符串的匹配结果。
3.根据权利要求1所述的字符串处理方法,其特征在于所述匹配器对所述规则的匹配串的位标记进行解析之后还包括:
若解析的位标记是通配符,则当前位匹配成功。
4.根据权利要求1-3任一所述的字符串处理方法,其特征在于所述对解析出的变元进行第一偏移量修正包括:
判断解析出的变元是否存在变元库中,若是,则将所述变元的解析值加上所述第一偏移量后得到匹配值;否则,将变元和待匹配号码的对应位的值减去第一偏移量后的值结对保存到变元库中。
5.根据权利要求4所述的字符串处理方法,其特征在于所述掩码规则包括所述变元和掩码值,所述对进行第一偏移量修正后的变元按照掩码规则进行掩码处理包括:
若所述掩码值为常量,则将所述掩码值和所述变元进行比较;若所述掩码值为掩码变元,则判断所述掩码变元是否在所述变元库中存在,若存在,则从变元库中取出所述掩码变元的值作为掩码值,并将所述掩码值与所述变元进行比较;若不存在,将变元的值作为掩码变元的实际值,并加入变元库中。
6.根据权利要求5所述的字符串处理方法,其特征在于所述掩码规则设置第二偏移量,所述将所述掩码值与所述变元进行比较包括:
对掩码值根据所述第二偏移量进行修正,将修正后的掩码值与所述变元进行比较;
所述将变元的值作为掩码变元的实际值包括:
对变元的值根据第二偏移量进行修正后得到匹配值,将所述匹配值作为掩码变元的实际值。
7.一种匹配器,其特征在于包括:
解析模块,用于对规则匹配串的每个位标记进行解析;
修正模块,用于对解析出的变元进行第一偏移量修正;
掩码处理模块,用于对进行第一偏移量修正后的变元按照掩码规则进行掩码处理,得到匹配值;
确定模块,用于根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果。
8.根据权利要求7所述的匹配器,其特征在于还包括:
常量保存模块,用于将所述解析模块解析出的变量保存到待比较值中;
结果确定模块,用于根据所述待比较值和待匹配字符串的对应位的实际值确定所述规则和待匹配字符串的匹配结果。
9.根据权利要求8所述的匹配器,其特征在于还包括:
处理模块,用于若所述解析模块解析出的位标记是通配符,则当前位匹配成功。
10.根据权利要求7-9任一所述的匹配器,其特征在于所述修正模块包括:
判断单元,用于判断解析出的变元是否存在变元库中;
获得单元,用于当解析出的变元保存在变元库中时,则将所述变元的解析值加上所述第一偏移量后得到匹配值;
保存单元,用于将变元和待匹配号码的对应位的值减去第一偏移量后的值结对保存到变元库中。
11.根据权利要求10所述的匹配器,其特征在于所述掩码规则包括所述变元和掩码值,所述掩码处理模块包括:
常量处理单元,用于若所述掩码值为常量,则将所述掩码值和所述变元进行比较;
变元处理单元,用于若所述掩码值为掩码变元,则判断所述掩码变元是否在所述变元库中存在,若存在,则从变元库中取出所述掩码变元的值作为掩码值,并将所述掩码值与所述变元进行比较;若不存在,将变元的值作为掩码变元的实际值,并加入变元库中。
12.根据权利要求11所述的匹配器,其特征在于所述掩码规则设置第二偏移量,所述常量处理单元用于对掩码值根据所述第二偏移量进行修正,将修正后的掩码值与所述变元进行比较;所述变元处理单元用于对变元的值根据第二偏移量进行修正后得到匹配值,将所述匹配值作为掩码变元的实际值。
13.一种字符串处理系统,其特征在于包括:
资源管理装置,用于设置匹配规则,并将所述匹配规则保存在规则库中;
管理器,用于接收来自所述资源管理装置的待匹配字符串,对所述待匹配字符串进行格式转换,并保存在对象库中;
匹配器,用于从所述对象库中获取待匹配的字符串和从规则库中获取规则;对所述规则匹配串的每个位标记进行解析,对解析出的变元进行偏移量修正,对进行偏移量修正后的变元按照掩码规则进行掩码处理,根据所述匹配串的位标记的匹配值和待匹配字符串对应位的实际值确定所述规则和待匹配字符串的匹配结果;将所述匹配结果保存在所述对象库,并进一步提供给所述管理器和资源管理装置。
CN200910008578A 2009-02-03 2009-02-03 字符串处理方法及系统和匹配器 Pending CN101794283A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200910008578A CN101794283A (zh) 2009-02-03 2009-02-03 字符串处理方法及系统和匹配器
PCT/CN2009/075902 WO2010088833A1 (zh) 2009-02-03 2009-12-23 字符串处理方法及系统和匹配器
EP09839550A EP2395438A4 (en) 2009-02-03 2009-12-23 METHOD AND SYSTEM FOR CHARACTER CHAIN PROCESSING, AND CORRESPONDENCE DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910008578A CN101794283A (zh) 2009-02-03 2009-02-03 字符串处理方法及系统和匹配器

Publications (1)

Publication Number Publication Date
CN101794283A true CN101794283A (zh) 2010-08-04

Family

ID=42541666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910008578A Pending CN101794283A (zh) 2009-02-03 2009-02-03 字符串处理方法及系统和匹配器

Country Status (3)

Country Link
EP (1) EP2395438A4 (zh)
CN (1) CN101794283A (zh)
WO (1) WO2010088833A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567456A (zh) * 2010-11-03 2012-07-11 微软公司 正则表达式的有条件的执行
CN112732796A (zh) * 2021-01-23 2021-04-30 河北省科学院应用数学研究所 一种模糊查询匹配方法
CN113836952A (zh) * 2021-11-26 2021-12-24 广州智慧城市发展研究院 电子标签的唯一识别符uid匹配方法、装置和设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9395966B1 (en) * 2010-09-27 2016-07-19 Symantec Corporation Systems and methods for associating installed software components with software products
CN104036047B (zh) * 2014-07-02 2017-05-17 上海携程商务有限公司 字符串自动修正方法及系统
CN104503970B (zh) * 2014-10-31 2017-09-08 北京思特奇信息技术股份有限公司 一种号码与自定义匹配公式进行匹配的方法及系统
CN105868166B (zh) 2015-01-22 2020-01-17 阿里巴巴集团控股有限公司 一种正则表达式的生成方法及系统
CN108595476B (zh) * 2018-03-12 2021-01-15 广东睿江云计算股份有限公司 一种参数智能匹配转换的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20050086234A1 (en) * 2003-10-15 2005-04-21 Sierra Wireless, Inc., A Canadian Corporation Incremental search of keyword strings
US20050164720A1 (en) * 2004-01-13 2005-07-28 Yi-Hsiang Huang Method of filtering messages with receiving telephone apparatus
US20050180393A1 (en) * 2004-02-17 2005-08-18 Skubisz Michael A. Providing advanced call features to an analog telephone using a media gateway
CN1645374A (zh) * 2005-01-17 2005-07-27 徐文新 位标记字符串检索技术

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567456A (zh) * 2010-11-03 2012-07-11 微软公司 正则表达式的有条件的执行
CN112732796A (zh) * 2021-01-23 2021-04-30 河北省科学院应用数学研究所 一种模糊查询匹配方法
CN113836952A (zh) * 2021-11-26 2021-12-24 广州智慧城市发展研究院 电子标签的唯一识别符uid匹配方法、装置和设备
CN113836952B (zh) * 2021-11-26 2022-03-29 广州智慧城市发展研究院 电子标签的唯一识别符uid匹配方法、装置和设备

Also Published As

Publication number Publication date
EP2395438A1 (en) 2011-12-14
WO2010088833A1 (zh) 2010-08-12
EP2395438A4 (en) 2012-07-18

Similar Documents

Publication Publication Date Title
CN101794283A (zh) 字符串处理方法及系统和匹配器
CN103414600B (zh) 近似匹配方法和相关设备及通信系统
CN109802864B (zh) 芯片设计验证方法、装置及芯片测试器
CN104410667B (zh) 一种xml报文到json报文的转换方法及系统
CN108255602B (zh) 任务组合方法及终端设备
CN104331366A (zh) 一种测试用例设计效率提升方法及系统
CN103020024A (zh) 一种文件格式转换方法
CN106547527A (zh) 一种JavaScript文件构建方法及装置
CN110231947A (zh) 一种应用程序的插件更新方法、设备、服务器及存储介质
CN109861998B (zh) 一种基于北斗短报文协议的插件式动态解析系统及方法
CN104333483A (zh) 互联网应用流量识别方法、系统及识别装置
CN109981676A (zh) 一种基于二进制解析协议自定义的物联网信息交互方法
CN103488562A (zh) 自动化测试方法和装置
CN102147726A (zh) 一种基于脚本的业务配置实现方法
CN101986282B (zh) 拓扑适配方法及装置
CN113489593A (zh) Json报文的核对方法和json报文的核对装置
CN106326112A (zh) 一种程序作业自动批改的方法和装置
CN104239216A (zh) 一种软件数据的测试方法和系统
CN102624736B (zh) 一种tl1命令校验方法及装置
CN107273118A (zh) 一种应用程序多开的实现方法及装置
CN109739872A (zh) 一种sql语句处理的实现方法、系统及操作方法
CN109657317A (zh) 一种cpld管脚分配的方法、系统及设备
CN115826991B (zh) 软件脚本生成方法、系统、计算机及可读存储介质
CN101272222A (zh) 一种约束校验方法及装置
CN104753891A (zh) 一种xml报文解析方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100804