RegEx帮助匹配运营商

时间:2010-02-02 11:38:27

标签: c# regex

我需要匹配一些运算符:=,!=,>,<,< =,> = 我需要匹配的字符串可能是这样的:“2 = 2 OR 33> = 32 AND 3< 5”

可以使用RegEx表达式来匹配这个,知道这一点 - 我不想在'< ='运算符上收到'='匹配 - 运营商可能有也可能没有空间

提前致谢! 亚历

5 个答案:

答案 0 :(得分:9)

试试这个:

(<=|>=|!=|=|>|<)

答案 1 :(得分:4)

这似乎有效:

[<>!]?=|[<>]

<(或仅>)之前需要!==, 或者:<>

那就是说,为了更复杂一点,你可能需要一个解析器(例如,如果你想支持括号)

答案 2 :(得分:1)

我的提议:[<>]=?|[!=]?=。匹配任何= != > < <= >= ==

答案 3 :(得分:1)

[^?!><=]+\s*(?<operator>[><!]?=|[><])\s*[^?!><=]+ + ExplicitCapture

过滤>>===== ==

答案 4 :(得分:0)

你是否也试图获得这些数字?如果是的话。 。

/[0-9]+[ ]*(<=|>=|!=|=|>|<)[ ]*[0-9]+/

...在0-9范围内的任何一次或多次,然后是0或更多空格,然后是您的运算符,0或更多空格以及0-9范围内的任何一次或多次。

这将获得数字和操作符