c++ - 如何实现正则表达式

标签 c++ regex

我正在开发一个数据库服务器软件产品(请参阅我的个人资料),我们发现有必要在我们的软件中实现自由文本搜索。我们使用的查询语言标准仅支持使用 BT 类型正则表达式的自由文本搜索。我们可以将我们的自由文本数据库索引与 Regex 一起使用的唯一方法似乎是实现我们自己的索引。我对 SO 的问题是:

  • 我在哪里可以找到关于如何实现 BT 风格正则表达式的论文/示例/模式?

  • 是否值得研究采用开源 C/C++ Regex 库之一并更改代码以满足我们的需求?

最佳答案

如果我没记错的话,SPARQL 使用基于 PERL 正则表达式的 XPath/XQuery 正则表达式语法(至少 W3C 文档是这么说的)

如果确实如此,那么您可以使用 http://www.pcre.org/ 中的 PCRE

它被许可为 BSD,因此您可以在商业产品中使用它

如果您的语法稍作修改,您可能可以编写一个小例程将其规范化为 PCRE 使用的 PERL 语法

关于c++ - 如何实现正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672137/

相关文章:

C++ 使用 vector 的二叉树

c++ - 为什么 QTcpSocket 不写?我需要刷新它才能发送我的数据

Python字典搜索未找到给定字符串的结果

javascript - Chrome 扩展程序将所有链接替换为稍微修改过的版本

php - 如何使用preg_match检查我的字符串是否包含空格?

regex - 正则表达式(regex)真的是正则的吗?

c++ - 如何使用C++ 11声明静态查找表

c++ - pthread_getschedparam 没有匹配的函数调用

javascript - 修改格式模式以替换字符串中的占位符

c++ - 如何反汇编编译器生成的代码?