REEC - C语言正则表达式

openkk 12年前

正则引擎

REEC是一个精简,高效的C语言正则表达式引擎,它使得C语言开发中支持正则表达式,目前已经进化到了1.2.0版本,可以说无论从功能上,还是效率都到达了很好的应用水平,该引擎除支持常用的正则标准之外,还有一些原创的特性,例如正则式的分组、模式敏感等级等等,使得正则表达式更加灵活多变。

注意:为了更好地与内存资源稀少的嵌入式系统相兼容,REEC不支持一些非关键的正则模式。如果您有这方面的需求使其支持更多正则模式,或需要改进REEC或者上报BUG,请与我们联系:

正则模式

  • <(a-zA-Z){1,}>含义:至少匹配1个,并且至多匹配n个字母。
  • <(0-9)^1> 含义:匹配1个数字。
  • <(0-9)^> 含义:匹配n个数字。
  • <(0-9){1,1}> 含义:至少匹配1个,并且至多匹配一个数字。
  • <(0-9){1,}> 含义:至少匹配1个,并且至多匹配n个数字。
  • <(symbol)^1> 含义:匹配1个symbol,symbol长度跟取值范围不限。
  • <(symbol)^> 含义:匹配n个symbol,symbol长度跟取值范围不限。
  • <(symbol){1,1}> 含义:至少匹配1个,并且至多匹配一个symbol,symbol长度跟取值范围不限。
  • <symbol){1,}> 含义:至少匹配1个,并且至多匹配n个symbol,symbol长度跟取值范围不限。
  • <()^1> 含义:匹配1个任意字符。
  • <()^> 含义:匹配n个任意字符。
  • <(){1,1}> 含义:至少匹配1个,并且至多匹配一个任意字符。
  • <(){1,}> 含义:至少匹配1个,并且至多匹配n个任意字符。
  • <(a-z0-9)^1> 含义:匹配1个小写字母或数字。
  • <(a-z0-9)^> 含义:匹配n个小写字母或数字。
  • <(a-z0-9){1,1}> 含义:至少匹配1个,并且至多匹配一个小写字母或数字。
  • <(a-z0-9){1,}> 含义:至少匹配1个,并且至多匹配n个小写字母或数字。
  • <(A-Z0-9)^1> 含义:匹配1个大写字母或数字。
  • <(A-Z0-9)^> 含义:匹配n个大写字母或数字。
  • <(A-Z0-9){1,1}> 含义:至少匹配1个,并且至多匹配一个大写字母或数字。
  • <(A-Z0-9){1,}> 含义:至少匹配1个,并且至多匹配n个大写字母或数字。
  • <(a-zA-Z0-9)^1> 含义:匹配1个字母或数字。
  • <(a-zA-Z0-9)^> 含义:匹配n个字母或数字。
  • <(a-zA-Z0-9){1,1}> 含义:至少匹配1个,并且至多匹配一个字母或数字。
  • <(a-zA-Z0-9){1,}> 含义:至少匹配1个,并且至多匹配n个字母或数字。

例子

  • 表达式:[<(哈哈你好)1>|<(你好哈哈)1><(0-9)*>][<(哈哈)1>|<(你好)1><(0-9)>][<(0-9)^>]
  • 模式串:"54233你好23322323sdafashaha323hasdf你,本次哈哈你好你好哈哈123456哈235"
  • 返回值:“123456”

项目主页:http://www.open-open.com/lib/view/home/1345174519194