作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有多个正则表达式,我想使用 Regexp.union 将它们组合成一个大的正则表达式,所以我有这个正则表达式作为示例:
^image\d*$
所以我试试这个:
regex = %w(^image\d*$)
=> ["^image\\d*$"]
re = Regexp.union(regex)
=> /\^image\\d\*\$/
它把我的正则表达式转义为 /\^image\\d\*\$/
所以当我尝试基本情况时它不匹配:
"image0".match(re)
=> nil
我怎样才能解决这个问题?
最佳答案
通过 Regexp
目的。 %w(...)
是字符串文字。使用 %r(...)
或 /.../
作为正则表达式文字。
regex = %r(^image\d*$)
# => /^image\d*$/
Regexp.union(regex)
# => /^image\d*$/
array_of_regexs = [/a/, /b/, /c/]
# => [/a/, /b/, /c/]
Regexp.union(array_of_regexs)
# => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
关于ruby-on-rails - ruby 中的正则表达式联合逃脱了我原来的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609953/
如何使用 Blazor 在 Linux 平台下运行 Desktop 程序 本文将讲解如何使用 Blazor 运行跨平台应用,应用到的技术有以下几点 Blazor
低并发的友友们好,我是闪客。 Lambda 表达式非常方便,在项目中一般在 stream 编程中用的比较多。 List<Student> studen
我是一名优秀的程序员,十分优秀!