REEC - C语言正则表达式


Artistic License/GPL
跨平台
C/C++

软件简介

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

编者:
这套正则表达式适用于内存稀少的嵌入式系统,从09年应用至今,据我们所了解的REEC已经在商用产品中做到了千万终端的应用,性能跟稳定性已经过了市场考验。

引擎特性

  • <(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长度跟取值范围不限。
  • }> 含义:至少匹配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”

其它

  • RO+RW段共10KB。
  • RAM