草庐IT

pcre2_substitute

全部标签

C++ 'substitute' 用于具有灵活数组成员的结构

考虑以下C99结构,以灵活的数组成员结尾:structhdr{size_tlen;size_tfree;charbuf[];};例如,len可以通过这样的内联函数(将被放入头文件)访问,将buf作为其参数:staticinlinesize_tslen(constchar*s){structhdr*h=(structhdr*)(s-(int)offsetof(structhdr,buf));returnh->len;}这是库的一部分,用C编译器编译。但是,我想从C++访问这个库;这实质上意味着相应的头文件(具有适当的extern"C"{...}保护)必须是有效的C++代码。一种可能的解决

c++ - 在 C/C++ 中存储 PCRE 编译的正则表达式

有没有一种有效的方法可以将编译后的正则表达式(通过regcomp()、PCRE编译)存储在二进制文件中,以便稍后我可以从文件中读取并调用regexec()?或者只是将编译后的regex_t结构转储到文件并在需要时读回它们? 最佳答案 除非你有super-complexregex,我几乎看不出序列化编译后的正则表达式有什么好处,编译时间应该不会那么长。除非你在一个超紧密的嵌入系统上?无论如何,确实倾倒结构可能是一个解决方案,至少你可以尝试...[编辑]我只是查看了我的源代码(6.7),正如我所担心的那样,它并不是那么简单,结构以voi

c++ - pcre2_substitute() 函数支持多少捕获组?

我在我的C++项目中使用pcre2_substitute()函数来执行正则表达式替换:intret=pcre2_substitute(re,/*Pointstothecompiledpattern*/subject,/*Pointstothesubjectstring*/subject_length,/*Lengthofthesubjectstring*/0,/*Offsetinthesubjectatwhichtostartmatching*/rplopts,/*Optionbits*/0,/*Pointstoamatchdatablock,orisNULL*/0,/*Pointst

C++ : Math library that solve system of equations using back substitution algorithm

如果我有这个:A*f=g;A:uppertriangularmatrix(nxn)f:(nx1)g:(nx1)需要使用反向替换算法求解f。我会说自己写一个并没有那么难,但是哦,如果那里有图书馆,那为什么不呢。 最佳答案 提升uBlas应该管用。至少如果我正确理解你的问题,你可能想从查看lu_substitute()和inplace_solve()开始。 关于C++:Mathlibrarythatsolvesystemofequationsusingbacksubstitutionalgo

c++ - 加速 C++ : Can I substitute raw pointers for smart pointers?

我喜欢这本书,遗憾的是它没有涵盖智能指针,因为它们在当时不是标准的一部分。那么在阅读本书时,我能否公平地将每个提到的指针分别替换为智能指针和引用? 最佳答案 “智能指针”有点用词不当。“聪明”的部分是他们会为你做一些事情,不管你是否需要、想要,甚至是否理解那些事情是什么。这真的很重要。因为有时候你会想去商店,智能指针会driveyoutochurch.智能指针解决了一些非常具体的问题。许多人会争辩说,如果你认为你需要智能指针,那么you'reprobablysolvingthewrongproblem.我个人尽量不偏袒任何一方。相反

c++ - 如何用 Unicode 处理 PCRE?

我正在使用VisualStudio2010通过PCRE进行一些正则表达式匹配。假设我在std::wstring中给出了一个模式和一个主题,如下所示:std::wstringsubject=L"サービス内容";std::wstringpattern=L"ス内";如您所见,我尝试定位日语字符串,因此我需要采用PCRE的unicode变体,例如具有函数pcre16_exec或pcre32_exec的pcre16或pcre32等不幸的是,它不起作用。我的问题似乎是从wstring到unsignedshort或unsignedint的转换(取决于pcre16或pcre32)。我尝试了很多函数(w

c++ - 将正则表达式编译成 native 程序集会比 PCRE 或其他正则表达式引擎更快吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我在考虑改进。我目前正在对日志文件进行大量文本处理。我并不是说PCRE是慢/快或与此相关的任何其他实现。我编写的语言主要是Perl。我知道它有一个强大的正则表达式引擎,我知道它比PCRE更具表现力。我想用C++制作一个小型正则表达式引擎,将正则表达式编译为原始nasm。我知道PCRE非常复杂,我的假设是我可以跳过PCRE在不必要的处理方面所做的很多事情。而

php - PHP 新手。我应该学习 PCRE 还是 POSIX。 (说两者都无济于事)

我在看一个网站,它说POSIX的使用在PHP5.3中逐渐消失。我还在研究一个视频ISO(大约2005年),它说如果我是PHP新手并且从未用Python编程过,我应该坚持使用POSIX。我读到PCRE比POSIX快。我不想对即将消失的正则表达式进行硬核处理。(暂时没有学习Python的打算)POSIX看起来很容易掌握,因为我已经对其进行了修改,但我不在乎容易的东西我想学习什么对我想做的事情更有效。这将是字符串操作、验证和数据库的东西(一旦我到达那个阶段)我应该学什么?请给出使用其中任何一个的明确理由。谢谢你的时间 最佳答案 学习PCR

php - 用问号替换无效的 UTF-8 字符,mbstring.substitute_character 似乎被忽略

我想用引号替换无效的UTF-8字符(PHP5.3.5)。到目前为止,我有这个解决方案,但无效字符被删除,而不是被替换为“?”。functionreplace_invalid_utf8($str){returnmb_convert_encoding($str,'UTF-8','UTF-8');}echomb_substitute_character()."\n";echoreplace_invalid_utf8('éééaaaàààeeé')."\n";echoreplace_invalid_utf8('eeeaaaaaaeeé')."\n";应该输出:63//ASCIIcodefo

c# - 在 C# 的 php(pcre) 中找到的分支重置运算符 ("?|"的等价物是什么?

以下正则表达式将匹配“星期六”或“星期日”:(?:(Sat)ur|(Sun))day但在一种情况下,反向引用1被填充而反向引用2为空,而在另一种情况下,反之亦然。PHP(pcre)提供了一个很好的运算符“?|”绕过了这个问题。之前的正则表达式将变为(?|(Sat)ur|(Sun))day。所以不会有空的反向引用。是否有C#中的等效项或一些解决方法? 最佳答案 .NET不支持分支重置运算符,但它确实支持命名组,并且它允许您不受限制地重复使用组名(这是其他风格所没有的,AFAIK)。所以你可以使用这个:(?:(?Sat)ur|(?Sun