我有以下字符串
(absolute_performance eq 12.2M)
我在此字符串中可能存在的唯一差异是 eq
可以替换为 ge
或 le
并且 12.2 可以是任何十进制数或整数。所以它可能是 0、0.1、23、12.34 等。
我已经开始了解这个正则表达式,但不知道其余的。
\(absolute_performance\seq|ge|le\s([0-9]+)M\)
稍后,我想提取数字,因此将其括在括号中。
剩下的是什么?
编辑
我已经得到了,我相信的,就是答案。但它正确吗?
\(absolute_performance\seq|ge|le\s([0-9]+(\.[0-9]+)?)M\)
编辑2
这是根据 hwnd 的建议进行的改进
\(absolute_performance\s(eq|ge|le)\s([0-9]+(\.[0-9]+)?)M\)
最佳答案
您需要使用 grouping构建对您的交替进行分组。您可以将其写为:
\(absolute_performance\s(?:eq|ge|le)\s(\d+(?:\.\d+)?)M\)
关于javascript - 匹配 OData 查询的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28651589/