我尝试解析elasticsearch
查询字符串,并使用*
和negative lookbehind
删除所有无效的negative lookahead
个字符。
例如,以下是合法用途:
[10 to *]
{* TO 2012-01-01}
{ * TO 2012-01-01}
steakhou*
这些不合法:
10 to * (no brackets)
[10 to * (no proceeding bracket)
*ab (leading *)
* (standalone)
除了我无法弄清楚如何同时lookahead
并检查是否没有结束},)
或{{ 1}}
]
,您可以看到示例文字开头附近的(?<!(?i)TO\s|\w|\[|\[\s|\]|\{|\()\*
未匹配
编辑链接,用于允许前瞻/后视的正则表达式测试程序 https://regex101.com/
示例文本:
*