Raku 编程/正则表达式
外观
< Raku 编程
正则表达式是一种用于指定和搜索字符串中的模式的工具,以及其他用途。正则表达式是 Perl 中一个流行且强大的部分,尽管它们在该语言的后续版本中逐渐增长和扩展,以一种难以跟踪和实现的方式。
随着更多运算符和元字符被添加到引擎中,Perl 的正则表达式变得越来越难用和理解。人们决定 Raku 将打破这种语法,并从头开始重写正则表达式,使其更灵活,并且更好地集成到语言中。在 Raku 中,它们被称为 **regexes**,并且已经变得更加强大。
Raku 以两种方式支持 regexes:它有一个支持 Perl 风格正则表达式的传统模式,还有一个支持新式 regexes 的正常模式。
Regexes 描述了可以在字符串数据中搜索并对其进行操作的模式。要搜索的最基本模式之一是重复模式。为了描述重复,可以使用一些量词。
操作符 | 含义 | 示例 | 说明 |
---|---|---|---|
* |
"零个或多个" | B A* |
接受一个字符串,其中包含一个 'B',后跟任意数量的 'A' 字符,甚至零个。例如:B 、BAAAAA 等等。 |
+ |
"一个或多个" | B A+ |
接受一个字符串,其中包含一个 'B',后跟至少一个 'A'。示例:BAAA 或 BA ,但不包括 B |
? |
"一个或零个" | B A? |
匹配一个 'B',可选地后跟一个 'A'。例如:B 或 BA |
** |
"这么多" | B A**5 |
匹配一个 'B',后跟恰好 5 个 'A' 字符。例如:BAAAAA |
B A ** 2..5 |
匹配一个 'B',后跟至少两个 'A',不超过 5 个 'A'。例如:BAA 、BAAA 、BAAAA 、BAAAAA |