8 个版本
| 0.0.8 | 2024年1月1日 |
|---|---|
| 0.0.6 | 2023年12月14日 |
| 0.0.0 | 2023年11月30日 |
#1426 in 文本处理
94 每月下载次数
135KB
2K SLoC
re2
是re2 C++ 库的包装器,用于展示 spack-rs 的用例。
以下语法指南摘自 re2 代码库。
正则表达式语法
本模块使用 re2 库,因此支持正则表达式语法,这与 Perl 的语法类似,但去掉了其中的一些复杂特性。特别是不支持回引用和广义断言,也不支持 \Z。
有关 RE2 支持的语法以及与 PCRE 和 PERL 正则表达式的比较,请参阅语法。
对于不熟悉 Perl 正则表达式的人来说,以下是一些常用扩展的示例
"hello (\\w+) world"--\w匹配“单词”字符"version (\\d+)"--\d匹配数字"hello\\s+world"--\s匹配任何空白字符"\\b(\\w+)\\b"--\b匹配非空字符串在单词边界处"(?i)hello"--(?i)启用不区分大小写的匹配"/\\*(.*?)\\*/"--.*?匹配尽可能少的.次
在编写字符串字面量时需要使用双反斜杠。但是,在编写原始字符串字面量时不应使用它们。
r"(hello (\w+) world)"--\w匹配“单词”字符r"(version (\d+))"--\d匹配数字r"(hello\s+world)"--\s匹配任何空白字符r"(\b(\w+)\b)"--\b匹配非空字符串在单词边界处r"((?i)hello)"--(?i)启用不区分大小写的匹配r"(/\*(.*?)\*/)"--.*?匹配尽可能少的.次
当使用UTF-8编码时,不区分大小写的匹配将执行简单的折叠,而不是完整的折叠。
许可证
BSD-3-Clause,以匹配re2的许可证。
依赖项
~1.3–6.5MB
~117K SLoC