它提高了可读性,并有助于使用人性化的结构构建正则表达式。此外,它允许注释和重用块,从而提高代码质量。
它只是一个构建器,所以它返回标准*regexp.Regexp。用字符串切换到普通的正则表达式没有问题。:)
该库支持大多数正则表达式语法。
示例 ipv4 检查:
ipv4Octet := rex.Group.Composite( |
它将产生以下正则表达式:
^(?:(?:(?:(?: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()等。
更多示例:
https://github.com/hedhyw/rex/blob/main/examples_test.go