jos*_*ott 2 ruby regex lookahead
我正在为以下短语变体写一个正则表达式:
我抓住了两件事:"更大"或"更少"这个词和金额.我想要记录金额是否有美元符号,但这就是绊倒我的原因.
这是我的正则表达式:
/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/
Run Code Online (Sandbox Code Playgroud)
这个:
"cart total is greater than $5.00".match(/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/)
Run Code Online (Sandbox Code Playgroud)
让我"更大"和5.00但是这个:
"cart total is greater than 5.00".match(/^.*(?=cart total).*(?=(greater|less)).*(?=\$([0-9.]+))/)
Run Code Online (Sandbox Code Playgroud)
让我"更大"和""
我意识到前瞻是专门搜索组中的"$"因此将其取出导致它找不到金额,但我很乐意看到如何修改它以查找金额而不管是否存在"$"或不.
谢谢!
在这种情况下,对我来说,预测是不必要的.我删除了那些.并添加\$?了可选的美元符号.
^.*?cart total.*?(greater|less).*?\$?([0-9.]+)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |