17得票5回答
PCRE在Haskell中的应用 - 是什么,何处使用,如何使用?

我已经搜索了很久,想找到一些关于Haskell正则表达式的文档或教程。在HaskellWiki页面上没有有用的信息。它只是给了一个神秘的消息:Documentation Coming soonish. 有一篇简短的博客文章,我发现它相当有帮助,但它只涉及Posix正则表达式,而不是PCRE。 ...

19得票7回答
PHP正则表达式:如何匹配\r和\n而不使用[\r\n]?

我已经测试了\v(垂直空白)是否与\r\n及其组合匹配,但我发现\v不匹配\r和\n。以下是我正在使用的代码:$string = " Test "; if (preg_match("#\v+#", $string )) { echo "Matched"; } else { echo ...

17得票1回答
有人能向我解释一下“Possessive Quantifiers”吗?(正则表达式)

我正在阅读PCRE文档,它提到了"possessive quantifiers",但并没有明确定义它们。我知道什么是贪婪量词和懒惰量词,但"possessive"是什么意思呢? 看起来PCRE手册在使用这个术语时并没有对其进行定义,有点作弊的感觉。手册明确声明术语"possessive qu...

43得票5回答
链接错误 LNK2038:在发布模式下检测到不匹配。

我正在尝试将我的一个小应用从Win XP和VS 2005移植到Win 7和VS 2010。 该应用在Debug模式下编译和运行顺利,但在Release模式下出现以下错误: pcrecpp.lib(pcrecpp.obj) : error LNK2038: mismatch detected...

19得票2回答
POSIX和PCRE之间的正则表达式语法变化

我们目前正在升级Varnish Cache服务器。作为流程的一部分,我们只升级了其中一个服务器,以查看它与旧版本的性能差异。 这个新版本中进行了一些重大更改,其中之一是将正则表达式引擎从POSIX更改为PCRE。这意味着我们的一些purge(正则表达式purge)在新服务器上已经停止工作。 ...

12得票1回答
正则表达式中的(a?)*是否具有指数增长?

我正在研究一些正则表达式的问题,当对某个输入进行匹配时,它们可能会以指数级的时间运行。例如,(a*)*和(a|a)*在与字符串aaaaab匹配时可能会出现'灾难性回溯'的情况——对于匹配字符串中每一个额外的'a',尝试匹配该字符串所需的时间就加倍。只有引擎使用回溯/NFA方法在失败之前尝试树中...

7得票2回答
PCRE正则表达式去除空括号

如何编写一个正则表达式以删除所有不包含任何内容的大括号对? 例如,{}和{{}}应该被缩减为空字符串,但{{}变成{,而{{A}{}}变成{{A}}。 我目前正在运行s/\{\}//g循环,直到字符串长度固定,但是否有更好的方法来完成这个任务?

9得票4回答
如何让PCRE与C++配合使用?

这是一个新手问题,但我希望我能尽可能清楚地表达我的问题。 我正在尝试在C++中进行模式匹配。 我已经从这里下载了PCRE的Win32版本,并将下载的pcre3.dll和pcreposix3.dll文件放置在Dev-CPP的lib文件夹中(我正在使用Bloodshed Dev-C++ 4.9...

8得票2回答
将preg_match_all转换为简单数组

我有 preg_match_all 函数: preg_match_all('#<h2>(.*?)</h2>#is', $source, $output, PREG_SET_ORDER); 它的工作方式是按预期运行的,但问题在于,它将所有项都匹配了两次,并且生成了一...

7得票4回答
为什么 "abcdef" 不符合 (?=abc)def,但符合 abc(?=def)?

在Javascript中,我有一个字符串abcdef,但无法理解这种奇怪的行为: (?=abc)def不匹配该字符串 abc(?=def)匹配该字符串 为什么呢?