Ruby 正则表达式:负匹配

2024-01-13

我想知道是否可以对整个单词使用否定匹配,这样就像[^(<em>.*?<\/em>)]会匹配一切,但之间(并包括)之间的文本<em>...</em>.

我正在考虑使用负向前瞻,但我认为这不会起作用,因为我需要检查开口<em>以及。

当然,我可以只使用正则表达式,然后从原始文本中减去匹配项,但我正在寻找更“优雅”的解决方案。

感谢您的帮助


String#split作为否定匹配。它返回一个数组,其中包含与正则表达式不匹配的任何部分。

'XXXXXXXX<em>YYYYYYY</em>ZZZZZZZZ'.split(%r|<em>.*?</em>|)
# => ['XXXXXXX', 'ZZZZZZZZ']

如果想把它放回到字符串中,就这样做join.

'XXXXXXXX<em>YYYYYYY</em>ZZZZZZZZ'.split(%r|<em>.*?</em>|).join
 # => 'XXXXXXXZZZZZZZZ'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 正则表达式:负匹配 的相关文章

随机推荐

  • Python tkinter 文本修改回调

    在 python 2 7 中 每次 Tkinter Text 小部件中发生更改时 我都尝试获取回调 该程序使用基于此处找到的代码的多个框架 在 tkinter 中的两个框架之间切换 https stackoverflow com quest
  • wpf:获取组合框值

    我有一个名为 cbFileSize 的 WPF 组合框 我尝试获取所选值 如下所示 string tmp cbFileSize SelectedValue ToString MessageBox Show tmp 但 tmp 设置为 Sys
  • 无法加载数据源的类:com.databricks.spark.csv

    My build sbt文件有这个 scalaVersion 2 10 3 libraryDependencies com databricks spark csv 2 10 1 1 0 我正在独立集群模式下运行 Spark 我的 Spar
  • 有条件地应用 Angular 4 中的点击事件

    是否可以在模板中定义一个附加点击处理程序的条件 例如 我能得到的最接近的是评估单击方法入口处的条件 a class user a 如果标志有的话 有没有一种方法可以避免完全绑定到单击事件isOverflown是假的吗 另外 我不想使用ng
  • 使用 Maven 打包并运行 Scala Spark 项目

    我正在 Scala 中编写一个应用程序 它使用Spark http spark apache org 我正在使用 Maven 打包应用程序 并在构建应用程序时遇到问题 uber 或 fat 罐子 https stackoverflow co
  • 在后台处理ViewExpiredException并恢复表单值

    是否有一个无数据库 primefaces 和 keep session alive 的解决方案来防止或在恢复表单输入时在后台静默处理 ViewExpiredException 例如 具有 保持登录 cookie 的用户不希望被重定向到某种错
  • 在 R 中执行时间序列的 fft

    我想使用 FFT 将波拟合到时间序列 目标是绘制具有不同谐波的图 并用它来预测 n 个数据点 我正在使用的代码基于此answer https stackoverflow com questions 41435777 perform four
  • 非本机长度的有符号和无符号整数的性能差异

    有这样一段话 CppCon 2016 钱德勒 卡鲁斯 Chandler Carruth 垃圾进 垃圾出 争论未定义的行为 https youtu be yG1OZ69H o t 39m16s 其中 Carruth 先生展示了 bzip 代码
  • Angular UI 路由器无法使用 Internet Explorer 9 进行解析

    我有一个 Angular v1 3 应用程序 它使用 Angular ui router v0 2 13 进行所有路由 该网站在所有浏览器上都能正常运行 包括 IE 10 和 IE 11 但不能在 IE 9 上运行 我们决定不再使用 IE8
  • 带箭头顶部和边框的框

    我只是要在上面创建一个盒子 边缘有一个箭头 我经常尝试但不幸的是相关的解决方案 我自然而然地在网上和网站上查询 但遗憾的是没有成功 所以它应该照顾 箭头应具有与框相同的边框和相同的背景颜色 所以现在看起来 arrow up width 10
  • Xcode 4 对当前版本的 MonoTouch 有影响吗?

    安装 Xcode 4 安全吗 今天发布的 MonoTouch 将允许您安装 XCode 4 并继续使用 MonoTouch 构建应用程序 但如果您使用安装 XCode 4 您将无法编辑 XIB 文件 我们建议开发人员安装新的 XCode 3
  • 具有类继承的数据类字典

    我有以下课程 dataclass json dataclass class Input sources List Sources None Transformations List str None 也 dataclass json dat
  • 如何使用mutationobserver代替突变事件?

    我正在尝试使用 D3 js 创建我的第一个流图 我从一个工作示例开始 其中包含在线发布的代码中的工具提示 http bl ocks org WillTurman 4631136 http bl ocks org WillTurman 463
  • 设置电子邮件和浏览器的 tr 和 td 宽度和高度

    我正在制作 HTML 电子邮件 我想在发送之前在浏览器中预览它们 因此我希望它们在浏览器和电子邮件客户端中看起来相似 我尝试了多种方法来设置行和单元格的宽度和高度 table height 500 width 200 tr td heigh
  • Fabric.js:如何填充徒手路径来绘制形状?

    在fabric js中 我们可以徒手绘制路径 例如http fabricjs com freedrawing http fabricjs com freedrawing 但是 在 HTML canvas 2d context ctx 中 我
  • UnparsedFlagAccessError:在解析标志之前尝试访问标志 --preserve_unused_tokens。伯特

    我想使用 Bert 语言模型来训练多类文本分类任务 之前我使用 LSTM 进行训练 没有任何错误 但 Bert 给了我这个错误 我收到以下错误 我真的不知道如何解决它 有人可以帮助我吗 不幸的是 keras 库中使用 BERT 的文档很少
  • ModuleNotFoundError:没有名为“__main__.models”的模块; “__main__”不是一个包

    目前在 Django 网站上工作 我在从我的网站导入类及其属性时遇到问题models py模块到我的views py我的音乐应用程序中的模块 据我了解 Django 使用元类来构建模型 因此定义的字段最终不会作为类的属性 这是问题吗 如果是
  • 如何编写多线程单元测试?

    我想知道是否有一些单元测试框架能够轻松编写多线程测试 我会想象这样的事情 n个线程同时调用一个特殊的测试方法m次 所有测试线程完成后 将调用应验证某些约束的断言方法 我当前的方法是在 junit 测试方法中创建 Thread 对象 在每个
  • Google Chrome 与 Nodejs (v8) 的性能比较?

    Example console time Test for var i 0 i lt 2500000 i 1 loop around console timeEnd Test 上面的代码运行faster in nodejs than goo
  • Ruby 正则表达式:负匹配

    我想知道是否可以对整个单词使用否定匹配 这样就像 em lt em gt 会匹配一切 但之间 并包括 之间的文本 em em 我正在考虑使用负向前瞻 但我认为这不会起作用 因为我需要检查开口 em 以及 当然 我可以只使用正则表达式 然后从