我遇到Ruby正则表达式的问题.
你如何在红宝石中做和(和)正则表达式?
例如:
cat and dog
cat
dog
I just want to match "cat and dog"
Run Code Online (Sandbox Code Playgroud)
ste*_*ema 14
你可以使用积极的前瞻做一些像AND的事情
(?=.*cat)(?=.*dog).*
Run Code Online (Sandbox Code Playgroud)
在Rubular上 看到它更新链接!
这个正向前瞻(?=.*cat)检查字符串中是否有"cat",然后使用"dog"进行同样的操作(?=.*dog).如果这两个断言都为真,则完整字符串与.*末尾匹配.
优点是它也会匹配
狗和猫
而且不仅仅是
下大雨
但它也会匹配
狗和猫
如果你想要完全匹配,那么使用它
(?=.*\bcat\b)(?=.*\bdog\b).*
Run Code Online (Sandbox Code Playgroud)
\b 是一个单词边界,即它在单词和非单词字符之间匹配.
在这里看到它
| 归档时间: |
|
| 查看次数: |
4253 次 |
| 最近记录: |