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 正则表达式:负匹配 的相关文章

  • 如何检查php字符串是否只包含英文字母和数字?

    在 JS 中我使用了这段代码 if string match A Za z0 9 但我不知道如何在 PHP 中做到这一点 Use 预匹配 http php net manual en function preg match php if p
  • egrep 和 grep 之间的区别

    我有一个问题grep and egrep in unix 由于我最近正在学习shell commands in unix 我想知道grep和egrep有什么区别 我发现我们可以将 grep 和egrep 与正则表达式一起使用 但是 我发现这
  • 删除emacs中多余的空行

    M x flush lines 删除缓冲区中的所有空白行 但是我只想删除多余的空白行 也就是说 如果有n个连续的空白行我想删除n 1并保留一个 我知道删除空白行可以完成该点下的空白行的工作 但是我想要一个适用于整个缓冲区的简单解决方案 有什
  • 请解释*贪婪量词的工作原理

    Pattern ptn Pattern compile a Matcher mtch ptn matcher bbaac if mtch find System out println mtch group 输出 不打印任何内容 Patte
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • 在 ruby​​ 中创建登录会话时理解“current_user”概念

    我正在阅读很棒的 Michael Hartl 教程来构建 ruby 应用程序here http ruby railstutorial org chapters sign in sign out sec 3acurrent user 我试图理
  • 用于验证 ip 列表中的 ip 范围的正则表达式

    我有正则表达式用于验证 50 个 ips 逗号分隔的列表 25 0 5 2 0 4 0 9 01 0 9 0 9 3 25 0 5 2 0 4 0 9 01 0 9 0 9 1 50 列表示例 10 10 10 1 127 0 0 1 现在
  • 正则表达式将从文本文件中提取句子

    我需要一个正则表达式来从文本文件中提取句子 示例文本 以 2004 年底发生的亚洲海啸灾难为例 对 Google 新闻 http news google com 的查询在一个月内 1 月 17 日 返回了超过 80 000 篇有关该事件的在
  • 正则表达式 - 将 target="blank" 添加到我的内容中的所有 标记链接

    有人可以帮我在 C net 中创建一个正则表达式来添加target blank to all a 在我的内容中标记链接 如果链接已经设置了目标 则将其替换为 blank 目的是在新窗口中打开我的内容中的所有链接 感谢你的帮助 dotnet岩
  • 启动同一作业的多个延迟作业进程

    我在运行多个工作人员的设置中使用延迟作业 就我的问题而言 这并不重要 但假设我运行 10 个工作线程 当前在开发模式下执行此操作 我遇到的问题是两个不同的工作人员有时开始处理同一项工作 调用我的工作对象上的执行方法 据我所知 延迟作业正在使
  • 正则表达式中的“g”标志是什么意思?

    的含义是什么g正则表达式中的标志 之间有什么区别 g and g用于全局搜索 这意味着它将匹配所有出现的情况 通常你还会看到i这意味着忽略大小写 参考 全局 JavaScript MDN https developer mozilla or
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 正则表达式,提取不在两个括号之间的字符串

    好的正则表达式问题 如何提取不在两个字符之间的字符 在本例中是括号 我有一个字符串 例如 字1 字2 字3 字 4 我只想获取第一个和最后一个 管道 而不是括号之间的第二个 管道 我已经尝试了无数次负克拉和负分组的尝试 但似乎无法使其发挥作
  • 将一幅图像合成到另一幅图像上时,RMagick 透明度不起作用

    在下面的代码中 我尝试在一些山脉的图像上覆盖一个透明的正方形 我认为它会起作用 但是通过设置background color none 它不会使图像透明 结果是左上角有一个黑色方块 所需的结果是黑色方块应该是透明的 require open
  • Python 中的正则表达式匹配长度超过八个字母的任何内容

    尽管尝试掌握 grep 和相关的 GNU 软件 但我还没有接近掌握正则表达式 我确实喜欢它们 但我还是觉得它们有点碍眼 我想这个问题对某些人来说并不困难 但我花了几个小时试图弄清楚如何在我最喜欢的书中搜索大于一定长度的单词 最后 想出了一些
  • 如何检查字符串是否为有效日期

    我有一个字符串 31 02 2010 并想检查它是否是有效日期 最好的方法是什么 我需要一个方法 如果字符串是有效日期 则返回 true 如果不是 则返回 false require date begin Date parse 31 02
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过

随机推荐

  • 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 以及 当然 我可以只使用正则表达式 然后从