【发布时间】:2021-05-20 13:35:07
【问题描述】:
我在构建这个正则表达式时遇到了一些问题,也许你们知道正确的方法。
这里我给你一些我有输入的例子:
1,(7|8),2,31|(2,3)|4(1,2)|(3|4)1,(2|(3,4)|(5|6))|8
我希望能够在使用 PHP7 时将其转换为 mysql 过滤器。预期为:
- 1,(7|8),2,3:
field = 1 and (field = 7 or field = 8) and field = 2 and field = 3 - 1|(2,3)|4:
field = 1 or (field = 2 and field = 3) or field = 4 - (1,2)|(3|4):
(field = 1 and field = 2) or (field = 3 and field = 4) - 1,(2|(3,4)|(5|6))|8:
field = 1 and (field = 2 or (field = 3 and field = 4) or (field = 5 or field = 6)) or field = 8
将“,”替换为“AND”和“|”非常容易与 OR 但那不是我想要的。 出于安全原因,我需要验证递归级别和正在使用的每个值,但也要对它们进行转义。
需要递归。
我需要关于如何前进的建议。我非常感谢一些提示。
谢谢一百万
【问题讨论】:
-
您能否提供一些代码,以便我们查看您的尝试?