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