gpt4 book ai didi

ruby - 使用 Regexp 部分匹配 Ruby 字符串的方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:53 25 4
gpt4 key购买 nike

我正在处理 2 个案例:

假设我有那些变量:

a = "hello"
b = "hello-SP"
c = "not_hello"
  1. 任何部分匹配
    我想接受任何包含变量 a 的字符串,因此 bc 会匹配。

  2. 图案搭配
    我想匹配一个字符串,里面有 a,后面跟着 '-',所以 b 会匹配,c 不会。

我有问题,因为我总是使用语法 /expression/ 来定义 Regexp,那么如何在 Ruby 上动态定义 RegExp?

最佳答案

您可以使用相同的语法在正则表达式中使用变量,因此:

  reg1 = /#{a}/

将匹配包含 a 变量值的任何内容(在创建表达式时!)和

  reg2 = /#{a}-/

会做同样的事情,加上一个连字符,所以在你的例子中是hello-

编辑:正如 Wayne Conrad 指出的那样,如果 a 包含“任何在正则表达式中具有特殊含义的字符”,您需要对它们进行转义。示例:

a = ".com"
b = Regexp.new(Regexp.escape(a))
"blah.com" =~ b

关于ruby - 使用 Regexp 部分匹配 Ruby 字符串的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2731623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com