我在使用 Ruby 正则表达式时遇到问题。
如何在 ruby 中执行 AND(&) 正则表达式?
例如:
cat and dog
cat
dog
I just want to match "cat and dog"
最佳答案
你可以做类似 AND 的事情,使用积极的前瞻
(?=.*cat)(?=.*dog).*
查看here on Rubular 已更新链接!
这种积极的前瞻性 (?=.*cat)
检查字符串中某处是否有“cat”,然后使用 (?=.*狗)
。如果这两个断言都为真,则完整的字符串与末尾的 .*
匹配。
好处是也会匹配
dog and cat
不仅如此
cat and dog
但它也会匹配
dogs and cats
如果你想要完全匹配,那么使用这个
(?=.*\bcat\b)(?=.*\bdog\b).*
\b
是一个单词边界,即它匹配一个单词和一个非单词字符。
查看here
关于ruby - 如何在 Ruby 正则表达式中使用 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6437516/