正则表达式仅匹配最里面的分隔序列

2023-12-08

我有一个包含由多个字符分隔的序列的字符串:<< and >>。我需要一个正则表达式来只给我最里面的序列。我已经尝试过前瞻,但它们似乎没有按照我期望的方式工作。

这是一个测试字符串:

'do not match this <<but match this>> not this <<BUT NOT THIS <<this too>> IT HAS CHILDREN>> <<and <also> this>>'

它应该返回:

but match this
this too
and <also> this

正如你在第三个结果中看到的,我不能只使用/<<[^>]+>>/因为字符串可能有一个分隔符字符,但不能连续有两个字符。

我刚从反复试验中走出来。在我看来这不应该这么复杂。


@matches = $string =~ /(<<(?:(?!<<|>>).)*>>)/g;

(?:(?!PAT).)*是模式为[^CHAR]*是对人物。

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

正则表达式仅匹配最里面的分隔序列 的相关文章

随机推荐

  • DbNull.Value 和 DbNull.Value.ToString() 之间的区别

    我想知道哪种用法是正确的 if string IsNullOrEmpty parentID cmd Parameters Add new SqlParameter ParentSesID parentID else cmd Paramete
  • 将用于生成电子邮件的 PHP 脚本转换为使用表单中的变量行

    我正在使用 PHP 脚本根据表单中的信息生成电子邮件 该表单的行数可变 我已将表单中每行的输入名称转换为数组 方法是添加 名称后 以便所有行中的数据都可用于生成电子邮件 但是 我不知道该怎么做是如何构建 PHP 以便它可以生成一封电子邮件
  • WinForms 文本框中的按钮

    WinForms 文本框是否具有任何可以在框末尾嵌入按钮的属性 就像 Chrome 地址框上的收藏夹按钮一样 我还在某些 Excel 表单中看到类似以下内容 EDIT 我按照 Hans Passant 的回答添加了一个点击事件处理程序 它似
  • 多个处理程序附加到一个事件:如何仅分离一个?

    在我正在处理的这个模块中 我有一个监听窗口中 调整大小 事件的监听器 每次运行模块时 我都需要检查是否已经有一个侦听器注册到该事件并将其分离 以避免出现不需要的行为 内存泄漏等 到目前为止一切顺利 但是 在我们正在开发的这个应用程序中 有可
  • Rails 多列上的唯一索引失败(sqlite3)

    我使用 Rails 设置了一个 HATBM 模型 其中包含一个用户表 一个组表和一个用于连接的 groups users 所有这些都使用scaffold 命令 现在我想添加一个迁移 以在表 groups users 的 group id 和
  • 为什么IDIV为-1会导致浮点异常?

    据我了解 idiv ebx将分裂edx eax 按顺序连接成 64 位值 与 32 位ebx 然而 当我尝试划分时0x00000000 0xfffffffb 0 和 5 与0xffffffff 1 我得到一个浮点异常 有人可以解释为什么吗
  • 将 PHP/MySQL 数据拆分为 3 列

    我需要使用从 MySQL 返回的数据在 PHP 中创建 3 个 HTML 列 我希望数据在所有 3 列之间均匀分配 我将如何做到这一点 你可以尝试做这样的事情 result mysql query SELECT value FROM tab
  • 查找行 NA 的数据框中的唯一性?

    我有一个如下所示的数据框 我想找到唯一的行 唯一性 但在这个数据中我有 NA 我喜欢如果一行中具有 NA 值的所有值与其他行相同 如行 1 2 5 我想忽略它 但如果不相同 如行 2 4 我喜欢保留它作为唯一行 例如 在第 1 2 和 6
  • 使用 JQuery 逐个字母淡入淡出

    我试图获取 all msg 的文本 并使用 hide 方法隐藏它 然后一次淡入一个字母 有一点延迟 这是我的代码 var all msg welcome msg function animate i all msg hide all msg
  • (Xcode 6 beta / Swift)performSegueWithIdentifier 在 segue 之前有延迟

    我刚刚第一次使用 Swift 和 Xcode 6 beta 学习 Ios 编程 我正在制作一个简单的测试应用程序 它应该调用 API 然后以编程方式转到不同的视图以显示检索到的信息 问题是segue 在我的委托方法中didReceiveAP
  • 当我“像 shell 脚本一样”运行 setuptools .egg 时,实际发生了什么?

    来自阅读本文档 我已经建立了一个关于命令内容的心理模型sh setuptools 0 6c11 py2 7 egg实际上确实如此 但它非常不完整 我仍然对某些方面感到困惑 我的思维模型是这样的 当发出这个命令时 egg 我认为它是一种巧妙处
  • jquery 的子字符串选择器?

    是否可以使用 jquery 仅选择字符串的一部分 例如我有一个文本 p Metuentes igitur idem latrones Lycaoniam magna parte campestrem p 所以现在如果用户搜索一个字符串 我希
  • C++17 静态内联成员的编译器错误

    我正在使用 Microsoft Visual Studio 2017 据我所知 它确实支持 C 17 静态内联类变量 我的问题是 如果我将所有成员保留为统一状态 它可以正常工作 但在初始化某些成员时会出现编译器错误 在以下示例中 inclu
  • 动态添加侦听器到 ajax 在 jQuery 中创建的内容

    我正在尝试获取单击的链接的 html 值 这些链接是使用 Ajax 动态创建的 所以我认为 bind 不会 工作 但我没有最新版本的 live div message click function var valueSelected thi
  • JIT编译和DEP

    我正在考虑尝试一些 jit 编译 只是为了学习 并且让它跨平台工作会很好 因为我在家运行所有主要的三个 windows os x linux 考虑到这一点 我想知道是否有任何方法可以摆脱使用虚拟内存窗口函数来分配具有执行权限的内存 如果只使
  • 关于静态持有者单例模式

    我根据挥发性 惰性单例 急切单例 普通单例以及通过枚举等条件以多种方式开发了单例 但具体来说我想了解如下所示的静态持有者模式单例 public static class Singleton private static class Inst
  • QML TableView 使用 QtQuick.Controls 2 单击行

    我在网上搜索了很多 但没有找到答案 这真的很奇怪 因为我认为这是大多数人应该使用的基本功能 可能我不明白如何正确使用表格视图 with QtQuick Controls 2 问题是 我想知道我单击了哪一行 并且我想访问该行的特定列的数据 类
  • Gmail 应用程序中的表格间隙未跨越整个宽度和高度

    经过几天的尝试寻找解决方案 未成功 我决定向社区的集体智慧和经验寻求帮助 我 我有一个电子邮件模板 可以在所有桌面 网络和移动客户端 Android 版 Gmail 应用程序除外 上正确显示 我有一个嵌套的导航表 由顶部图像 导航本身和底部
  • 如何在 pandas 中将多列折叠为一列

    我有一个填充了用户和类别的 pandas 数据框 但这些类别有多个列 user category val1 val2 val3 user 1 c1 3 NA None user 1 c2 NA 4 None user 1 c3 NA NA
  • 正则表达式仅匹配最里面的分隔序列

    我有一个包含由多个字符分隔的序列的字符串 lt lt and gt gt 我需要一个正则表达式来只给我最里面的序列 我已经尝试过前瞻 但它们似乎没有按照我期望的方式工作 这是一个测试字符串 do not match this lt