gpt4 book ai didi

pcre - 对常用语言的 PCRE(Perl 兼容正则表达式)有什么支持?

转载 作者:行者123 更新时间:2023-12-04 08:00:55 28 4
gpt4 key购买 nike

我对 PCRE(Perl 兼容正则表达式)的强大功能很感兴趣,并想知道它们是否有可能成为所有主要语言的事实上的方法(我对 Java 感兴趣)。如有必要,我准备使用图书馆。

我也无法在 SO 中找到描述 PCRE 优缺点的好页面,因此如果这不存在,将其包含在答案中可能会很有用

编辑 我对 Java 1.6 正则表达式以外的功能感兴趣,特别是命名捕获组

最佳答案

似乎更多主流语言实际上使用他们自己的“类 Perl”正则表达式而不是实际使用 libpcre。属于此类的语言包括(至少)Java、JavaScript 和 Python。

Java的java.util.regex库使用的语法很大程度上基于 Perl(大约 5.8 版)正则表达式,包括转义规则 \p\P Unicode 类、非贪婪和“占有”量词、反向引用、\Q .. \E引用,和几个 (?...)构造包括非捕获组、零宽度前瞻/后向和非回溯组。事实上,与 libpcre 相比,Java 正则表达式与 Perl 正则表达式的共同点似乎更多。 :)

JavaScript 语言还使用派生自 Perl 的正则表达式; Unicode 类、lookbehind、所有格量词和非回溯组都不存在,但我提到的 Java 的其余部分也存在于 JS 中。

Python 的正则表达式语法也是基于 Perl 5 的,带有非贪婪量词,大部分 (?...)构造包括非捕获组、前瞻/后视和条件模式,以及命名捕获组(但语法与 Perl 或 PCRE 不同)。非回溯组和“占有”量词(据我所知)不存在,还有 \p\P Unicode 字符类,虽然标准 \d , \s , 和 \w如果需要,类是 Unicode 感知的。

关于pcre - 对常用语言的 PCRE(Perl 兼容正则表达式)有什么支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448164/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com