如何为这种模式“(<key><operator><value>)”制作正则表达式?

问题描述 投票:0回答:1

我需要强制输入满足以下模式的信息:

  • 带括号的条件组
  • 在括号内,您可以有无限对键、运算符、值 - 用“;”分隔(与)或“,”(或)
  • 石斑鱼也可以用“;”隔开或“,”
  • 密钥符合与json密钥相同的规范
  • 值,也可以是任意类型的值,也可以是json值
  • 运算符可以是:==, !=, <, >, <=, >=

例一:

([email protected];type!=test;schedule==false),([email protected];type==unit)

例二:

([email protected],schedule==false);(value<=1)

尝试做这样的事情:

[(][a-zA-Z0-9_](==|>|<|>=|<=|!=)[\w][)]

但没有成功.. .

我真的可以使用正则表达式来做吗?

regex regex-group
1个回答
0
投票

试试这个:

/^(\((.*?([=!><]=|>|<).*?([;,]|\))*)(,|$))*/i
© www.soinside.com 2019 - 2024. All rights reserved.