如何在 Ruby 正则表达式中使用 AND

2024-01-23

我在使用 Ruby 正则表达式时遇到问题。

如何在 ruby​​ 中执行 AND(&) 正则表达式?

ex:

cat and dog
cat
dog

I just want to match "cat and dog"

您可以使用积极的前瞻来执行类似 AND 的操作

(?=.*cat)(?=.*dog).*

See it 这里在红宝石上 http://www.rubular.com/r/1xfzGhL8Ev 更新了链接!

这种积极的前瞻性(?=.*cat)检查字符串中某处是否有“cat”,然后使用“dog”执行相同的操作(?=.*dog)。如果这两个断言都为真,则完整的字符串与.*在最后。

优点是还可以搭配

狗和猫

而且不仅是

下大雨

但它也会匹配

狗和猫

如果你想要精确匹配,那么使用这个

(?=.*\bcat\b)(?=.*\bdog\b).*

\b是单词边界,即它在单词和非单词字符之间匹配。

See it here http://www.rubular.com/r/uR1XOkTcrF

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

如何在 Ruby 正则表达式中使用 AND 的相关文章

  • ruby 无法复制 Fixnum

    我有一些这样的代码 ssh files id rsa pub id rsa ssh files each with index do item index ssh files index generate ssh path creator
  • ruby Sequel gem - 如何使用 pg_array 扩展查询数组

    我正在使用pg array http sequel jeremyevans net rdoc plugins files lib sequel extensions pg array rb html扩展和续集版本 4 1 1 我添加了这样的
  • 使用 gem 添加辅助方法

    我找到了很多有关添加表单辅助方法的信息 请参阅我的其他问题之一 但我找不到有关添加辅助方法的任何信息 就好像它们是在application helper rb 我尝试过复制application helper rb从 Rails 应用程序到
  • 用数组值替换字符串中的模板

    我有一个字符串 可以有简单的模板 我有一个包含替换值的数组 目前我正在用循环来做 但我想把它改成preg replace 你能帮助我吗 Example values array id gt 120 name gt Jim string He
  • 在environment.rb中设置的常量在开发模式下消失

    了解 Rails 缓存如何工作的人可以真正帮助我 这是嵌套在 Rails Initializer run 块内的代码 config after initialize do SomeClass const set SOME CONST SOM
  • 如何将 --no-ri --no-rdoc 设置为 gem 安装的默认值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将 no ri no rdoc 设置为 gem 安装的默认值 https stackoverflow com questions 1381725 how to make no ri no rdoc
  • 如何将字符串转换为正则表达式文字

    逃避任意的最好方法是什么std wstring在正则表达式中使用 例如 转换you owe me to you owe me 我的场景 我想使用std tr1 wregex搜索整个单词 所以我想做一些类似的事情 std wstring Re
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • Bundler 找不到 gem“rack”的兼容版本:

    我是 Ruby 新手 但实际上如果我不想安装 Redmine 我就不需要它 我正在按照以下说明进行操作http www redmine org projects redmine wiki HowTo install Redmine on C
  • 如何在 Rails 应用程序中选择性地跟踪方法及其文件访问?

    对于 Rails 应用程序 我想重载或修改 Kernel load 以便它打印出完整路径 例如puts gt File expand path File dirname FILE File basename FILE 对于加载的每个 Rai
  • 有没有办法在 Nokogiri css 中转义非字母数字字符?

    我有一个锚标签 file html stuff morestuff CHP 1 SECT 2 1 尝试提取 Nokogiri 中引用的内容 documentFragment at css stuff morestuff CHP 1 SECT
  • Ruby IMAP 库:如何显示文件夹中的所有邮件?

    我需要一个脚本来获取所有文件夹中的所有电子邮件 并对其及其附件进行本地备份 here https www ombulabs com blog ruby imap a comprehensive guide to interacting wi
  • ruby require 问题(与 $LOAD_PATH 有关)

    我正在尝试使用我刚刚安装的 gem 通过sudo gem install excelsior 像这样 需要 红宝石 要求 精益求精 这在 irb 中工作得很好 但是当我将完全相同的代码粘贴到 rb 文件中并尝试使用 ruby 运行它时 我得
  • 如何将上传的二进制文件 (ASCII-8BIT) 嵌入 XML (UTF-8) 中?

    我有一个通过常规上传的文件form for 这给了我一个ActionDispatch Http UploadedFile我可以调用的 params 哈希中的对象 read来获取内容 我现在需要将该文件嵌入到 XML 文档中 我现在使用常规
  • 从子字符串中提取的映射运算符

    I have list of dicts print L 0 x 1 1 y 2 2 z 1 0 x 1 1 y lt 3 2 z gt 1 我想创建元组 其值位于运算符之前 运算符之后 值之后 first step wanted x 1
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 忽略正则表达式匹配的嵌套括号内的逗号

    我有以下正则表达式 s s g这允许我匹配由逗号分隔的元素 同时忽略内部的逗号 有这个 a b c aaa bbb ccc d 我明白了 a b c aaa bbb ccc d 现在 我想升级它以考虑另一个级别的括号 我不想考虑任何级别 我
  • 转换MAC地址格式

    我刚刚编写了一个小脚本 从交换机中提取数百个 MAC 地址进行比较 但它们的格式为 0025 9073 3014 而不是标准的 00 25 90 73 30 14 我对如何转换它感到困惑 我能想到的最好的办法就是在 处将它们分解成碎片 然后
  • RVM 要求错误

    我安装了 OS X Mavericks 并且正在尝试运行rvm requirements在终端中 它给了我这个错误 Installing required packages autoconf automake libtool pkgconf
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近

随机推荐

  • Ruby 中的哈希“has_key”复杂性

    我有一个哈希vars a gt Name b gt Address c gt Phone 我想检查这条线的性能 vars has key b 是 O 1 还是 O 哈希大小 简单的基准 require benchmark iteration
  • 为什么我们在 .class 文件的开头需要一个幻数?

    我在这里读了一些关于神奇数字的帖子0xCAFEBABE在每个java的开头 class文件并想知道why它是需要的 这个标记的目的是什么 现在还需要吗 或者现在只是为了向后兼容 找不到回答这个问题的帖子 我也没有在 java 中看到答案sp
  • WebSocket 服务器的最佳实践是什么?

    假设您有一个网站 用户可以在其中打开聊天室 房间打开后 用户可以邀请其他人并聊天 我们还假设您想使用 WebSockets 与客户端进行通信 在大多数服务器端 WebSocket 实现中 都有一个简单的函数 例如connection bro
  • 如何防止Laravel路由被直接访问(即非ajax请求)

    在我的项目中 我纯粹使用 Laravel 作为后端 api 所有前端均由 Angular javascript 处理 目前 Laravel 路由可以直接访问 它会输出浏览器中显示的所有 Json 数据 我想对其进行限制 以便 Laravel
  • 将数据帧转换为 treeNetwork 兼容列表

    考虑以下数据框 Country Provinces City Zone 1 Canada Newfondland St Johns A 2 Canada PEI Charlottetown B 3 Canada Nova Scotia Ha
  • “转换”asp.net 形式为 html 形式

    我有一个 asp net 网络表单 用户在文本框中输入数据 我也这样做OnClick SubmitData 有一个按钮 现在我想使用 jquery 并使我的表单看起来更好 但我不知道是否可以保留 asp net 控件或是否必须转换为 htm
  • 如何将具有动态 ID 的文档保存到 Cloud Firestore 中?总是在变化

    我使用 Cloud Firestore 作为我的数据库 这是我网页上的表单代码 它在我的 Cloud Firestore 集合中创建一个名为 esequiz 的新文档 那么我该如何编码才能使其始终为数据库中的文档数加 1 呢 并设置数据库内
  • 授予读取 Amazon S3 存储桶内子目录的权限

    我以前从未使用过 AWS S3 我们用它来自动备份客户的通话录音 我们的一位客户出于审计目的需要访问他们的录音 我使用客户端 Cyber Duck 作为访问文件的方式 我只想让他们访问他们的文件 我们的文件结构如下 recordings 1
  • 在 Plotly (R API) 中绘制地理参考栅格图像

    我想用Plotly https github com ropensci plotly 在 R 中创建考古发掘战壕的 3D 模型 我非常成功地绘制了点和表面数据 示例 Vignette https isaakiel github io rec
  • 我什么时候应该在 CMake 中用 ${...} 包装变量?

    我想知道为什么 CMake 中的变量经常用美元符号和大括号括起来 例如 我看到这个电话在 CMake 教程中 https github com LaurentGomila SFML wiki Tutorial Build your SFML
  • 如何允许在某些区域拖动 UIView (PanGesture..)

    我需要通过拖动 UIViewPanGestureRecognizer 我知道该怎么做 但我不知道如何在限制下做到这一点 需要从顶部进行一些填充 并且如果与设备的四个边 左 右 顶部 这里是填充 和底部 之一发生碰撞 请停止拖动 并且不能像顶
  • 如何更新 make 3.81 linux

    我是 Linux 新手 昨天安装的新手 我在大学的编程课程中需要它 并且我被告知要安装特定程序的特定版本 但尽管我已经使用 apt get install 来安装他们 之前已经完成了 apt get update 他们的版本不正确 我需要的
  • .toArray(new MyClass[0]) 或 .toArray(new MyClass[myList.size()])?

    假设我有一个 ArrayList ArrayList
  • 使用 dll 导出类时 __declspec(dllimport) 未解析的外部符号

    我想基于 dll 导出类定义一个派生类 基类在项目 A 中定义 派生类在项目 B 中定义 首先 在项目A中 定义了预处理器MYDLL BUILD 我使用头文件来指定导出 导入 if defined MYDLL BUILD pragma co
  • 从字符串中删除图像元素

    我有一个包含存储在 var 中的 HTML 图像元素的字符串 我想从字符串中删除图像元素 我努力了 var content content replace
  • 无法通过 IP 从网络访问 WAMP 站点

    我正在运行最新版本的 wampserver 和 apache 2 4 2 和 php 5 4 3 在 Windows 2008 上 我正在运行两个 ip 一个用于 iis 一个用于 apache 我通过添加来做到这一点 听 123 456
  • 使用 Javascript 跨浏览器以编程方式添加书签链接

    有没有一个脚本可以解决这个问题 我希望能够说 单击 另存为书签 我搜索了一下并发现this one http www dynamicdrive com dynamicindex9 addbook htm 但它不适用于 Safari 有人有
  • maven更新后java版本自动更改为java 1.5

    我使用 eclipse 作为 IDE 当我右键单击该项目 然后单击 maven 时 将我的 java 版本更改为 1 5 这是我到目前为止所做的 我遵循了此处列出的所有步骤 http qussay com 2013 09 13 solvin
  • 使用 DrawingContext 绘制“L”

    我需要绘制 使用System Windows Media DrawingContext a L 在 WPF 中 最佳的继续方式是什么 画2条线 画一个PolyLineSegment 不知道如何 drawContext DrawLine my
  • 如何在 Ruby 正则表达式中使用 AND

    我在使用 Ruby 正则表达式时遇到问题 如何在 ruby 中执行 AND 正则表达式 ex cat and dog cat dog I just want to match cat and dog 您可以使用积极的前瞻来执行类似 AND