问题标签 [pcre]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
140 浏览

php - 使用 PHP PCRE 消除字符

如果我有一个字符串 $random,并且我想丢弃除逗号和数字之外的所有内容,我怎么能在 PHP PCRE 中做到这一点?

我知道\d会匹配数字,但我没有得到 PCRE 的其余部分。

0 投票
5 回答
319 浏览

php - PHP PCRE 的问题

我在使用 PHP PCRE 时遇到问题,而且我已经习惯了 POSIX,所以我不太确定自己做错了什么。基本上,这个函数最多匹配 10 个用逗号分隔的数字。但是,它也匹配字符串sdf(可能还有许多其他字符串),我看不出原因。谁能帮我?

0 投票
2 回答
1376 浏览

c - 用c忽略libpcre中的大小写

使用 pcre_compile 和 pcre_exec 时如何忽略大小写?

我使用什么选项,我在哪里指定它?

0 投票
2 回答
323 浏览

regex - 正则表达式匹配重复组 {0,2} 或 {0,4} 但 {0,3} 不匹配

首先,这是使用 preg。

我要匹配的字符串:

我的正则表达式及其匹配项:

奇怪的是,如果我删除一个“a”它就可以了。也,(\S*\s*){0,3}\Sp(\S*\s){0,3}\S*p两者都有效。

有人可以解释为什么第三种情况导致没有匹配而不是“bcd xp”吗?

蒂亚!

0 投票
4 回答
1061 浏览

php - 需要防止 PHP regex segfault

为什么会出现以下段错误,我该如何预防?

我相信它会导致......等待它......堆栈溢出。

编辑:

以上是演示问题的模式的简化版本。更完整的版本:

目的是找到似乎以有效英文句子结尾结尾的 html 块。我发现这种方法非常擅长区分“内容”文本(如文章正文)和“布局”文本(即,如导航元素)。但是,有时如果标签之间有大量空白,它就会爆炸。

0 投票
7 回答
71593 浏览

php - PHP 中的 preg_match 和 UTF-8

我正在尝试使用preg_match搜索 UTF8 编码的字符串。

这应该打印 1,因为 "H" 在字符串 "¡Hola!" 中的索引 1 处。但它会打印 2。所以它似乎没有将主题视为 UTF8 编码的字符串,即使我在正则表达式中传递了“u”修饰符。

我的 php.ini 中有以下设置,并且其他 UTF8 函数正在工作:

有任何想法吗?

0 投票
4 回答
1893 浏览

php - PHP文件写入优化

编辑:这个问题结束时的优化结果!

嗨,我有以下代码首先扫描特定文件夹中的文件,然后逐行读取每个文件,并在无数“if ... else if”之后将新修改的文​​件写入另一个文件夹,名称与打开时一样.

问题是逐行编写文件似乎非常缓慢。默认的 60 秒限制仅能容纳 25 个左右的文件。文件大小从 10k 到 350k 不等。

任何优化代码以使其运行得更快的方法。逐行读取是否更好,将每一行放入一个数组中,然后将整个数组写入一个新的文本文件(而不是逐行读取/写入)。如果是,它在实践中是如何完成的。

在此先感谢 ----- 代码如下 -----


编辑:根据这里的每个人给我的提示重写代码后,这是非常有趣的结果。

60 个文本文件,共 5.8MB

经过所有优化(在循环之前更改了 preg->strpos/strstr 和 $handle):4 秒。

如上所述,但更改了 strpos/strstr -> stripos/stristr:8 秒。

如上所述,但更改了 stripos/stristr -> preg:12 秒。

如上所述,但在循环内更改了 fopen:180 秒运行限制后的 45/60 个文件

这是完整的脚本:

0 投票
2 回答
923 浏览

regex - preg 匹配电子邮件和姓名 from to

我想从以下格式中查找姓名和电子邮件(如果您知道在邮件应用程序中用于发送电子邮件的任何其他格式,请在评论中说明:))

我如何知道以下格式字符串的名称和电子邮件(它的一个字符串,可以是以下任何格式):

0 投票
2 回答
170 浏览

php - 获取组中所有比赛的位置

考虑以下示例:

它所做的只是返回系列中的最后一个'a',但我需要的是所有'a'。

特别是,我需要字符串中所有 每个'a'的位置,因此PREG_OFFSET_CAPTURE

该示例要复杂得多,请参阅相关问题:模式匹配数组,而不是它们的元素本身

谢谢

0 投票
1 回答
84 浏览

php - 在正面后视前分组不匹配

采取以下代码:

我需要获取 $target 中 NAME、FUNC 和每个 P 的位置(因此是 PREG_OFFSET_CAPTURE)。该模式适用于 Ps,但它与命名组“ruleName”或“funcName”中的任何一个都不匹配。

我错过了什么?

谢谢。