我需要匹配一些运算符:=,!=,>,<,< =,> = 我需要匹配的字符串可能是这样的:“2 = 2 OR 33> = 32 AND 3< 5”
可以使用RegEx表达式来匹配这个,知道这一点 - 我不想在'< ='运算符上收到'='匹配 - 运营商可能有也可能没有空间
提前致谢! 亚历
答案 0 :(得分:9)
试试这个:
(<=|>=|!=|=|>|<)
答案 1 :(得分:4)
这似乎有效:
[<>!]?=|[<>]
在<
(或仅>
)之前需要!
,=
或=
,
或者:<
或>
。
那就是说,为了更复杂一点,你可能需要一个解析器(例如,如果你想支持括号)
答案 2 :(得分:1)
我的提议:[<>]=?|[!=]?=
。匹配任何= != > < <= >= ==
。
答案 3 :(得分:1)
[^?!><=]+\s*(?<operator>[><!]?=|[><])\s*[^?!><=]+
+ ExplicitCapture
过滤>>
或===
或== ==
答案 4 :(得分:0)
你是否也试图获得这些数字?如果是的话。 。
/[0-9]+[ ]*(<=|>=|!=|=|>|<)[ ]*[0-9]+/
...在0-9范围内的任何一次或多次,然后是0或更多空格,然后是您的运算符,0或更多空格以及0-9范围内的任何一次或多次。
这将获得数字和操作符