rex:Golang的正規表示式生成器
它提高了可讀性,並有助於使用人性化的結構構建正規表示式。此外,它允許註釋和重用塊,從而提高程式碼質量。
它只是一個構建器,所以它返回標準*regexp.Regexp。用字串切換到普通的正規表示式沒有問題。:)
該庫支援大多數正規表示式語法。
示例 ipv4 檢查:
ipv4Octet := rex.Group.Composite( // One of 250-255 | 200-249 | 0-199. rex.Group.Define( // 250-255. rex.Common.Text("25"), rex.Chars.Range('0', '5'), ).NonCaptured(), rex.Group.Define( // 200-249. rex.Chars.Single('2'), rex.Chars.Range('0', '4'), rex.Chars.Digits(), ).NonCaptured(), rex.Group.Define( // 000-199. rex.Chars.Runes("01").Repeat().ZeroOrOne(), rex.Chars.Digits(), rex.Chars.Digits().Repeat().ZeroOrOne(), ).NonCaptured(), ).NonCaptured() rex.New(rex.Group.Define( rex.Group.Define( ipv4Octet, // Numbers are divided by a dot. rex.Chars.Single('.'), ).NonCaptured().Repeat().Exactly(3), ipv4Octet, )).String() // Or MustCompile or Compile. |
它將產生以下正規表示式:
^(?:(?:(?:(?:25[0-5])|(?:2[0-4]\d)|(?:[01]?\d\d?))\.){3}(?:(?:25[0-5])|(?:2[0-4]\d)|(?:[01]?\d\d?)))$ |
它需要更多的程式碼,但它有助於簡單地使用可重用的塊和模式來描述正規表示式。
它有常見的可重用塊,如rex.Helper.Phone(),rex.Helper.IP()等。
更多示例:
相關文章
- Golang爬蟲+正規表示式Golang爬蟲
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 正規表示式
- 正規表示式.
- Linux 的正規表示式Linux
- JS常用正規表示式及驗證時間的正規表示式JS
- Golang正則筆記 :使用正規表示式處理題庫文字Golang筆記
- php –正規表示式PHP
- 【Linux】正規表示式Linux
- 【JavaScript】正規表示式JavaScript
- URL正規表示式
- 正規表示式 split()
- 初探正規表示式
- 正規表示式 test()
- 正規表示式(?!)作用
- 正規表示式 {n,}
- SQL正規表示式SQL
- 正規表示式(java)Java
- Python——正規表示式Python
- PHP正規表示式PHP
- 正規表示式概括
- javascript正規表示式JavaScript
- java正規表示式Java
- Shell正規表示式
- 常用正規表示式
- 正規表示式合集
- python正規表示式Python
- 【java】正規表示式Java
- MySQL正規表示式MySql
- JavaScript 正規表示式JavaScript
- 正規表示式 教程
- Python 正規表示式Python
- 正規表示式(一)
- Python:正規表示式Python
- 正規表示式匹配
- 正規表示式 【四】
- java中的正規表示式Java
- 常見的正規表示式