如何在正则表达式中匹配比较运算符

Mic*_*cah 6 regex

我正在尝试创建一个匹配这样的比较的正则表达式:

= 445
> 5
>= 22
< 3
<= 42
<> 10
Run Code Online (Sandbox Code Playgroud)

我认为这会起作用,但它不起作用:

[=|>|<|>=|<|<=|<>]\s\d+
Run Code Online (Sandbox Code Playgroud)

'>' 或 '<' 在 '=' 之前非常重要。这些运算符将无效:

=<
=>
>>
<<
==
Run Code Online (Sandbox Code Playgroud)

我正在使用它来创建一些动态 sql,因此比较运算符需要有效的 sql。

有什么建议?

not*_*row 6

(=|>|<|>=|<|<=|<>)\s\d+
Run Code Online (Sandbox Code Playgroud)

或类似的东西:(并没有真正做你想做的,它匹配 =<> 的所有 2 个字符组合,但为了清楚起见)

[=><]{1,2}\s\d+
Run Code Online (Sandbox Code Playgroud)

-> 当您使用 [] 大括号时,这意味着应该发生其中的一个字符(多个 | 定义可能会导致未定义的行为,或者我不知道的行为)

-> 你可能想使用简单的大括号 (),其中 | 有“或”的意思。