我在使用 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(使用前将#替换为@)