Ruby 正则表达式与 Python 正则表达式

2023-11-25

Ruby 正则表达式和 Python 正则表达式之间有什么真正的区别吗?

我一直无法发现两者之间的任何差异,但可能错过了一些东西。


我上次检查时发现,它们在 Unicode 支持方面存在很大差异。 1.9 中的 Ruby 至少有一些非常有限的 Unicode 支持。我相信现在可能支持一两个 Unicode 属性。可能是一般类别,也可能是脚本是我正在考虑的两个。

Python 同时对 Unicode 的支持越来越少。 Python似乎确实可以满足以下要求RL1.2a“兼容性”从UTS#18开始Unicode 正则表达式.

也就是说,有一个非常不错的 Python 库马修·巴尼特 (mrab)最终向 Python 正则表达式添加了一些 Unicode 属性。他支持两个最重要的:一般类别和脚本属性。它还有一些其他有趣的功能。它值得一些良好的宣传。

我认为 Ruby 或 Python 对 Unicode 的支持都不是很好,尽管每天都有越来越多的事情完成。然而,特别是,两者都满足上面引用的 Unicode 正则表达式的准系统 1 级要求。例如,RL1.2要求至少支持11个属性:General_Category, Script, Alphabetic, Uppercase, Lowercase, White_Space, Noncharacter_Code_Point, Default_Ignorable_Code_Point, ANY, ASCII, and ASSIGNED.

我认为 Python 只能让你实现其中的一些,而且只是以一种迂回的方式。当然,除了这 11 个属性之外,还有很多很多其他属性。

当您寻求 Unicode 支持时,当然,正则表达式上不仅仅只有 UTS#10,尽管这是对这个问题最重要的支持,而且 Ruby 和 Puython 都不符合 1 级标准。 Unicode 的其他非常重要的方面包括 UAX#15、UAX#14、UTS#18、UAX#11、UAX#29,当然还有关键的 UAX#44。我知道,Python 至少有几个这样的库。我不知道它们是标准的。

但是说到正则表达式支持,嗯,有are你知道,比这两个更丰富的选择。 :)

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

Ruby 正则表达式与 Python 正则表达式 的相关文章

  • Python sqlite3参数化删除表

    我在 python 中删除 sqlite3 表时遇到问题 我正在使用标准sqlite3模块 self conn sqlite3 connect sql drop table self conn execute sql u table nam
  • 使用 Pymongo 从 Windows 连接到 AWS 实例上的 MongoDB

    此行反复抛出错误 client MongoClient ec2 12 345 67 89 us east 2 compute amazonaws com 27017 ssl True ssl keyfile C mongo pem 由于显而
  • OpenCV - 我需要将彩色图像插入黑白图像并且

    我用以下代码将黑白图像插入彩色图像 没问题 face grey cv cvtColor face cv COLOR RGB2GRAY for row in range 0 face grey shape 0 for column in ra
  • python 脚本中 os.system 的 256 和 512 响应代码是什么

    当我在 python 中使用 os system ping 服务器时 我得到多个响应代码 使用的命令 os system ping q c 30 s SERVERANME 0 在线 256 离线 512 512 是什么意思 Per the
  • 在R中提取其他两个字符串之间的字符串

    我试图找到一种简单的方法来提取出现在两个已知子字符串之间的未知子字符串 可以是任何内容 例如 我有一个字符串 a lt anything goes here STR1 GET ME STR2 anything goes here 我需要提取
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 如何在Python中求和

    我想知道如何在 python 中表示总和而不需要像这样的循环here http docs scipy org doc scipy reference tutorial optimize html 我们有 def rosen x The Ro
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 如何使用 xlrd 将新列和行添加到 .xls 文件

    如何向 xlrd 中的工作表添加新列和 或行 我有一个使用 open workbook 读取的 xls 文件 我需要在第一张表中添加一个新列 bouncebacks 然后在该表中添加新行 但我在 xlrd 文档中找不到任何显示如何添加新行和
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • python:是否有用于对输入流进行分块的库函数?

    我想对输入流进行分块以进行批处理 给定一个输入列表或生成器 x in 1 2 3 4 5 6 我想要一个能够返回该输入块的函数 说 如果chunk size 4 then x chunked 1 2 3 4 5 6 这是我一遍又一遍地做的事
  • 如何删除 pandas 数据框中的唯一行?

    我遇到了一个看似简单的问题 在 pandas 数据框中删除唯一的行 基本上 相反drop duplicates https pandas pydata org pandas docs stable generated pandas Data
  • 如何在交互式绘图(Python)中获得鼠标指向的(x,y)位置?

    我使用 ipython 笔记本 带有魔法 matplotlib nbagg 我正在审查matplotlib widget Cursor但仅查看光标widgets Cursor http matplotlib org 1 4 3 exampl
  • 为什么 "asdf".replace(/.*/g, "x") == "xx" ?

    我偶然发现了一个令人惊讶的 对我来说 事实 console log asdf replace g x Why two替代品 似乎任何没有换行符的非空字符串都会产生此模式的两个替换 使用替换函数 我可以看到第一个替换是整个字符串 第二个替换是
  • PyCharm - 如何挂起所有线程

    我们使用 PyCharm 5 0 1 进行多线程调试 当它在断点处停止时 只有特定线程停止 而所有其他线程继续 这使得 冻结时刻 和检查参数值以及其他线程的当前状态变得困难 当其中一个线程在断点处停止时 是否可以挂起所有线程 这在最新的 P
  • 如何测试列表中多个值的成员资格

    我想测试两个或多个值是否在列表中具有成员资格 但我得到了意外的结果 gt gt gt a b in b a foo bar a True 那么 Python 可以同时测试列表中多个值的成员资格吗 这个结果意味着什么 See also How
  • Python:帮助(numpy)在退出时导致段错误

    我遇到了一个奇怪的现象 在 python 解释器中 我执行以下操作 gt gt gt import numpy gt gt gt help numpy 帮助显示正确 但一旦我按 q 返回解释器 Segmentation fault core
  • Scrapy的redirect_urls异常.KeyError

    我是 Scrapy 和 Python 的新手 最近推出了我的第一个蜘蛛 有一个功能似乎以前有效 但现在它只适用于我试图废弃的一些网站 代码行是 item url direct response request meta redirect u
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • 如何配置 Eclipse 在使用 Pydev 插件选择“运行”或“调试”时启动浏览器

    我正在使用 Eclipse Pydev 插件学习 Python 和 Django 当我按 运行 或 调试 时 我希望内部或外部浏览器使用 URL http 127 0 0 1 启动或刷新 我见过用 PHP 插件完成的 但没有用 Pydev

随机推荐

  • PUT POST 具有幂等性 (REST)

    我不太明白 HTTP 动词是如何定义为幂等的 我读到的只是 GET 和 PUT 是幂等的 POST 不是幂等的 但是您可以使用 POST 创建一个不会更改任何内容 例如在数据库中 的 REST API 或者为 PUT 创建一个在每次调用时都
  • pandas 数据框,按值复制

    我注意到我的程序中存在一个错误 它发生的原因是因为 pandas 似乎是通过引用而不是通过值复制 pandas 数据框 我知道不可变对象总是通过引用传递 但 pandas 数据帧不是不可变的 所以我不明白为什么它通过引用传递 有人可以提供一
  • Inno Setup,[Run] 中的空格和双引号

    我正在尝试在 Windows 上安排任务 但不幸的是 它不起作用 任务已创建 但不正确 当我查看任务的参数时 它说 PROGRAM C Program ARGUMENTS Files x86 AppName executable exe 我
  • C++11 中的命名空间问题?

    有人可以解释一下以下内容吗 cat test cpp include
  • 使用 LinkMovementMethod 时可以禁用 TextView 中的滚动吗?

    我在 textView 中使用可点击范围来仅允许部分文本可点击 它工作正常 只是 textView 向下滚动 这是我不想要的 发生这种情况是因为我使用 LinkMovementMethod 在需要时滚动 有没有办法取消滚动 Spannabl
  • 使用 Javascript 播放 HTML5 视频 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我该如何使用JavaScript播放 HTML5
  • 作为“本地系统”运行 Windows 服务有哪些安全风险?

    我编写了一个作为 本地系统 运行的 NET Windows 服务 最近我读到 作为本地系统运行可能会将系统凭据暴露给黑客 使他们能够接管系统 当我作为本地系统运行服务时 涉及哪些风险以及如何预防这些风险 服务运行为LocalSystem是系
  • kubernetes 部署-容器未启动-错误- InvalidImageName

    以下是 Kubernetes 部署 yaml 文件 container图片部分 image https registry ng bluemix net test service test branch 67 imagePullPolicy
  • PHP basename() 和 pathinfo() 与多字节 UTF-8 文件名

    我发现 PHP 函数 basename 以及 pathinfo 对于多字节 utf 8 名称有奇怪的行为 它们删除所有非拉丁字符 直到第一个拉丁字符或标点符号 但是 此后 后续的非拉丁字符将被保留 basename x returns x
  • 是否可以使用 MongoDB 作为嵌入式数据库?

    正如标题所示 我喜欢将 MongoDB 服务器嵌入到我自己的 C 应用程序中 我在文档中没有找到这种模式 我正在寻找类似 SQLite 或 Firebird 的嵌入式模式 MongoDB 也可以实现这一点吗 无需自己编程 目前还没有办法嵌入
  • 为什么 json_decode 对于空数组返回 null?

    为什么这会回显 NULL 在我看来 它将被解码为一个空数组 我明显缺少什么吗 这是因为array NULL 在这种情况下 它不检查对象类型 gettype null 返回 null 而 gettype array 返回数组 希望你能明白其中
  • 在 python 中保存和处理内存中的大字典的有效方法

    正如我做了一些测试 一个包含 3000 万个项目的 int gt int 不同值 的 python 字典可以轻松地占用我的 mac 上 gt 2G 的内存 由于我只使用 int 到 int dict 有没有比使用 python dict 更
  • VSCode 如何自动插入 Intellisense 建议而无需按 Enter?

    默认 VS Code 智能感知行为 向用户呈现建议菜单 User then has to press the Up or Down arrow keys to navigate through the menu Finally user h
  • MPI_SEND 占用虚拟内存的很大一部分

    在大量内核上调试我的程序时 我遇到了非常奇怪的错误insufficient virtual memory 我的调查导致了代码的和平 主站向每个从站发送小消息 然后我写了一个小程序 其中 1 个 master 只需发送 10 个整数MPI S
  • 在 .net 4.5 中使用 ClientWebSocket 时如何设置 User-Agent 和 Referer 标头?

    使用的明显答案ClientWebSocket SetHeader抛出异常 因为它是受保护的标头 System ArgumentException occurred Message The User Agent header must be
  • 如何检查列表中是否存在子序列? [复制]

    这个问题在这里已经有答案了 在Python中 可以使用is检查包含的关键字 例如 gt gt gt 3 in 1 2 3 4 5 True 但是 如果它检查单个整数的列表是否在引用列表内 则不会产生相同的输出 1 2 3 4 5 gt gt
  • 在不知道尺寸的情况下垂直居中图像

    我在网络开发生涯中集中了很多东西 但我想知道是否有一种简单的方法可以在不知道图像尺寸的情况下垂直居中图像 想象一下我从数据库中获得的缩略图列表 我不希望每个项目都粘在父 div 的顶部 div div img src path i got
  • 更改使用 Mono 运行的 C# 应用程序中的当前 Linux 用户?

    我正在为 Linux 系统开发一个库 CLI 程序集 我想为图书馆的用户提供一种切换当前有效用户和组的方法 主要原因是提供访问控制 某些操作仅允许某些用户允许 其次是允许特定用户修改文件系统 我已经确定了两种可能的方法 1 以 root 身
  • 即使已经安装了包,pip install 也总是克隆 git 存储库

    有没有办法让 pip 检查 git 指定的包是否已经安装并完全跳过 git 克隆 文档提到您可以在 Egg 定义之后指定版本 但这只是为了用户的视觉方便 并没有在任何地方使用 对于我的用例 解决方案是更改表单中的 URL git https
  • Ruby 正则表达式与 Python 正则表达式

    Ruby 正则表达式和 Python 正则表达式之间有什么真正的区别吗 我一直无法发现两者之间的任何差异 但可能错过了一些东西 我上次检查时发现 它们在 Unicode 支持方面存在很大差异 1 9 中的 Ruby 至少有一些非常有限的 U