Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby1.9.3对2.0.0的正则表达式负面预测大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要匹配以“bar”结尾但不以“foo”开头的数组成员,并将结果放入新数组中.

查看1.9.3和2.0.0的文档,它们似乎支持使用相同语法的负向前瞻.负面的前瞻工作正如我在ruby 2.0.0中预期的那样,但似乎在ruby 1.9.3中不起作用:

["foo a.bar","b.bar"].grep(/(?!^foo\s).*\.bar$/)
# => ["b.bar"]              (ruby 2.0.0)
# => ["foo a.bar","b.bar"] (ruby 1.9.3)

此基础架构上的ruby版本将在4个月内升级,但不能更快地更改版本.我怎样才能在1.9.3中完成这项工作,最好继续在2.0中工作?

解决方法

更好地使用它,看起来更有说服力: @H_916_4@matched = array.grep(/^(?!foo\s).*\.bar$/)

不要以foo开头

这将适用于2.1.1和1.9.3

只有你想看看我做了什么:

# ruby-1.9.3-p362
array = ["foo a.bar","b.bar"] 
# => ["foo a.bar","b.bar"] 
matched = array.grep(/(?!^foo\s).*\.bar$/)
# => ["foo a.bar","b.bar"] 
matched = array.grep(/^(?!foo\s).*\.bar$/)
# => ["b.bar"] 
matched = array.grep(/(?!^foo\s).*\.bar$/)
# => ["foo a.bar","b.bar"]

# ruby-2.1.1
array = ["foo a.bar","b.bar"] 
matched = array.grep(/(?!^foo\s).*\.bar$/)
# => ["b.bar"] 
matched = array.grep(/^(?!foo\s).*\.bar$/)
# => ["b.bar"]

大佬总结

以上是大佬教程为你收集整理的ruby1.9.3对2.0.0的正则表达式负面预测全部内容,希望文章能够帮你解决ruby1.9.3对2.0.0的正则表达式负面预测所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。