javascript - 匹配 OData 查询的正则表达式

标签 javascript regex

我有以下字符串

(absolute_performance eq 12.2M)

我在此字符串中可能存在的唯一差异是 eq 可以替换为 gele 并且 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/

相关文章:

javascript - jQuery UI "Loading..."错误处理

regex - Lua模式匹配,重复字符

php - 正则表达式在 php 文件中查找函数参数

javascript - 正则表达式拆分 Camel 案例

javascript - 如何在 javascript 的正则表达式中使用 # :. [ 等字符定义单词边界

javascript - 无法从另一个 javascript 文件引用 javascript 数组

javascript - 更改 AngularJS 上的 URL,无需转换特定链接的状态,但将 URL 保留在链接中

regex - Unix egrep 命令如何创建一个模式来匹配以下内容?

python - 在 python 中匹配这个正则表达式(负向前瞻?)

javascript - 防止JS点击计数器出现负数