我正在尝试创建一个匹配这样的比较的正则表达式:
= 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。
有什么建议?
(=|>|<|>=|<|<=|<>)\s\d+
Run Code Online (Sandbox Code Playgroud)
或类似的东西:(并没有真正做你想做的,它匹配 =<> 的所有 2 个字符组合,但为了清楚起见)
[=><]{1,2}\s\d+
Run Code Online (Sandbox Code Playgroud)
-> 当您使用 [] 大括号时,这意味着应该发生其中的一个字符(多个 | 定义可能会导致未定义的行为,或者我不知道的行为)
-> 你可能想使用简单的大括号 (),其中 | 有“或”的意思。