我正在开发一个项目,用户使用 AND OR 运算符输入人类可读的搜索字符串。我举三个例子
- a AND (b OR c) -> (?=. \ba\b)(?=. (\bb\b)|(\bc\b)).*
- 一个或(b 和 c)
- (a 或 b) 与 (c 或 d)
以上是我可能得到的输入样本。我想接受该输入并将其转换为正则表达式。这不是编译器的示例吗?看着它,我看到我想做的是将高级命令转换为低级命令。您对我如何完成上述工作有什么建议吗?我想要的是,将生成的正则表达式传递给 jsoup(伪选择器:matchesOwn)并查询 html 文档。感谢您的帮助。