通用语言对 PCRE(Perl 兼容正则表达式)有哪些支持?

2024-03-31

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

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

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


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通用语言对 PCRE(Perl 兼容正则表达式)有哪些支持? 的相关文章

随机推荐

  • 调用 android.speech.RecognizerIntent API 会导致连接错误对话框,并在日志中显示“calling_package”警告

    我编写了一个小应用程序 允许用户通过按钮选择使用语音搜索的语言 而不是依赖用户的语言偏好 有时您希望用日语进行语音搜索 而不将整个 UI 切换为日语 我正在我的 HTC Desire Android 2 1 Softbank x06ht 上
  • GItlab:有什么方法可以选择变量值作为下拉菜单

    在 Gitlab ci 中 我们声明了变量 如下所示 USER NAME value description Enter Username File Name description Enter the file name 它只提供一个文本
  • 删除字符的正确方法是什么**

    我有一个 char 基本上是一个字符串数组 我需要删除它 确保清除所有指针的正确方法是什么 经验法则是你需要一个delete or delete 对于每个new or new 您发出的 所以如果你这样做 char pp new char N
  • 未找到与 Doctrine2 多态关联的字段

    我有一个多态关联 类表继承 我需要使用 DQL 来查询特定子类的实体 可以在 WHERE 子句中使用 x INSTANCE OF Entity 来完成 现在我需要为该子类设置特定的条件 但我收到此错误 类 Person 没有名为 Stude
  • Nextjs 和 Jest 变换/transformIgnorePatterns 不适用于 esm 模块

    我对此进行了大量研究 并找到了相当多的解决方案 我找到了一种解决方法 并希望获得transform and transformIgnorePatterns在职的 然而 我唯一能做的似乎就是在我的内部手动添加一些模拟模块 mocks fold
  • 如何更改 Android 选项卡小部件的背景?

    我的类扩展了 TabActivity TabHost mTabHost getTabHost TabHost TabSpec tab1 mTabHost newTabSpec tab1 TabHost TabSpec tab2 mTabHo
  • 使用 Fluent Api 时复合键 EF Core 出现错误

    所以我在 Entity Framework Core 中有以下类 我正在尝试进行代码优先迁移 但我一生都无法弄清楚如何为这项工作提供流畅的 API public class Participants public Activity Acti
  • 通过网络扫描发现服务器IP地址

    我要开发 C 客户端 服务器应用程序 我需要告诉客户端服务器的 IP 地址是什么 它可能来自客户端或服务器广播 任何关于这方面的帮助和解决方案都会非常有用 如果有一些示例代码那就更好了 Thanks 您可以使用BroadCast方法进行广播
  • 将枚举案例的关联值提取到元组中

    我知道如何使用 switch 语句提取枚举案例中的关联值 enum Barcode case upc Int Int Int Int case quCode String var productBarcode Barcode upc 8 1
  • CUDA全局内存事务的成本

    根据 CUDA 5 0 编程指南 如果我同时使用 L1 和 L2 缓存 在 Fermi 或 Kepler 上 则所有全局内存操作都使用 128 字节内存事务完成 但是 如果我仅使用 L2 则使用 32 字节内存事务 第 F 4 2 章 让我
  • 建议在 C#.NET 中加密 XML 文件的最佳算法?

    我必须加密 XML 文件并通过网络发送到私人服务器中 我的另一个应用程序将通过提供实际的公钥来解密文件并将其导入到 SQL 你能建议我最好的方法吗 File XML类型 可能的尺寸 最大 250 MB 技术 C NET 2008 Use X
  • YUI 压缩机和 .NET 应用程序

    我想使用 YUI Compressor 原始版本 并将其用作典型 MS 构建过程 Visual Studio 2008 MSBuild 的一部分 有人对此有任何指导或想法吗 例如 合并到项目中的好方法 如何处理现有的 CSS 和 JS 引用
  • 尝试拟合 CrossValidator 对象时 DataBricks PySpark 出错

    首先 我是 DataBricks 和 PySpark 的新手 所以如果这是我没有看到的简单解决方案 我深表歉意 我的集群位于 DataBricks 运行时 9 1 LTS Spark 3 1 2 Scala 2 12 上 我正在研究一个 N
  • 在 Perl 中如何使用变量作为变量名?

    我需要在 perl 中实现以下目标 printmsg val1 msg1 if val1 printmsg val2 msg2 if val2 printmsg val3 msg3 if val3 printmsg val4 msg4 if
  • return 语句之前/期间的 C 分段错误

    我在 return 语句之前打印要返回的值 并告诉我的代码打印在函数调用之后立即返回的值 但是 在第一个打印语句之后和第二个打印语句之前 我遇到了分段错误 还值得注意的是 这种情况总是发生在第三次调用该函数时 从来没有第一次或第二次 也从来
  • 修改访客的捆绑属性

    我应该如何从访问者内部修改顶点的捆绑属性 我想使用对图进行子脚本化的简单方法 但传递给访问者的图参数是 const 因此编译器不允许更改 我可以在访问者中存储对图表的引用 但这看起来很奇怪 A visitor which identifie
  • 计算 Java 对象的值?

    我有一个用于存储项目的 Java 对象 public class PaymentDetailsItem private String name private String amount private int quantity priva
  • 在 Excel5.php 中找不到类“PHPExcel”

    我在 PHPExcel 中收到以下错误 Fatal error Class PHPExcel not found in PHPExcel Reader Excel5 php on line 587 这很奇怪 因为我在网上搜索时没有遇到过它
  • 尽管 rake 路线中有一条路线,但没有路线匹配

    我变得奇怪ActionController RoutingError No route matches 可以生成路线 gt r Rails application routes gt r generate controller items
  • 通用语言对 PCRE(Perl 兼容正则表达式)有哪些支持?

    我对 PCRE Perl 兼容正则表达式 的强大功能很感兴趣 并且想知道它们是否有可能成为所有主要语言中事实上的方法 我对 Java 感兴趣 如果有必要 我准备使用图书馆 我也无法在 SO 中找到一个很好的页面来描述 PCRE 的优缺点 因