当前位置: 首页 > 面试题库 >

C ++:应该使用哪个正则表达式库?

颜啸
2023-03-14
问题内容

我正在研究在基于Linux的系统上运行的商业(非开源)C 项目。我需要在C 代码中做一些正则表达式。(我知道:我现在有2个问题。)

问题:定期使用C / C ++进行正则表达式的人推荐我使用哪些库?快速搜索引起了我以下注意:

1)Boost.Regex(我需要阅读Boost软件许可证,但是这个问题与软件许可证无关)

2)C(不是C ++)POSIX正则表达式(#include ,regcomp,regexec等)

3)http://freshmeat.net/projects/cpp_regex/
(我对此一无所知;似乎是GPL,因此无法在该项目上使用)


问题答案:

感谢所有的建议。

我今天尝试了一些方法,并且通过我们尝试做的事情,我选择了最简单的解决方案,无需下载其他任何第三方库。最后,我#include<regex.h>并使用了标准的C POSIX调用regcomp()和regexec()。不是C ++,但事实证明,这是最简单的。



 类似资料:
  • 主要内容:正则表达式的组成,Regex 类正则表达式是一种匹配输入文本的模式,可以用于解析和验证给定文本以及模式之间是否匹配,模式可以包含运算符、字符字面值或结构。 正则表达式的组成 我们可以使用正则表达式检查给定字符串是否与指定模式相匹配。正则表达式的匹配模式由一系列字符组成,其中可以包括数子、文字、运算符、字符等等。我们可以使用这些模式来搜索字符串或文件,并查看是否找到了匹配的项。 开发中我们一般使用正则表达式来验证用户输入的信息是否

  • 我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:

  • 行动时刻 - 使用正则表达式 Unlang允许在条件检查中进行正则表达式计算。这些通常是Posix正则表达式。运算符=〜和!〜与正则表达式相关联。为了简单的概念证明,我们将修改上一个练习: 1.编辑FreeRADIUS配置目录下的sites-available / default虚拟服务器,并在该部分顶部的post-auth部分中添加以下内容: if(request:Framed-Protocol

  • (?:x) (x) 这两个好像可以平价替换的吧。有什么特殊应用吗?

  • sorter: "${$(...props)=>{timeSort(createTime)}$}$", ..$}$"."${$.. 希望结果 :sorter: (...props)=>{timeSort(createTime)}, ..$}$"."${$.. 规则: "${$ 和 $}$" 是一对,将他们替换为空。

  • 正则表达式是一种可以和输入文本相匹配的表达式。.Net framework 提供了一个正则表达式引擎让这种匹配成为可能。一个表达式可以由一个或多个字符,运算符,或结构体组成。 构建正则表达式的定义 有很多种类的字符,运算符,结构体可以定义正则表达式。 转义字符 字符类 集合 分组构造 限定符 回溯引用构造 可替换结构 替换 混合结构 Regex 正则表达式类 Regex 类用于表示一个正则表达式。