REEC - C語言正則表達式

openkk 12年前發布 | 15K 次閱讀 正則表達式 C/C++開發

正則引擎

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.baiduhome.net/lib/view/home/1345174519194

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!