问题标签 [preg-match-all]

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 投票
1 回答
86 浏览

php - 我对 preg_match_all 做错了什么?

目标是查找集合,例如<!-- content:start -->some content here<!-- content:stop -->并处理每个集合以将其放入数组中,但每次它找不到匹配项并回显我的 die 语句而不打印任何匹配项。注意:开始和结束标记之间的内容通常跨越多行。

这是正在执行的当前函数。

0 投票
3 回答
5554 浏览

php - preg_match_all 确保不同/独特的结果

我正在使用以下代码来匹配以“$”开头的脚本中的所有变量,但是我希望结果不包含重复项,即不同/唯一:

有什么建议吗?

0 投票
1 回答
594 浏览

php - preg_match_all 崩溃/窃听?

好的,所以我有这个脚本至少 3 个月以来都是一样的。代码根本没有被修改过。我的服务器(VPS)也没有被修改过。但现在不知从何而来,大约 24 小时前开始,脚本中的一行导致页面/脚本超时/崩溃(大约 30 秒后出现白页)。

有问题的代码行是这样的:

如果我评论该行,页面加载正常。问题是该行对页面至关重要。有谁知道为什么 preg_match_all 函数会导致页面崩溃?特别是因为我没有更改服务器或脚本上的任何内容..

0 投票
2 回答
1247 浏览

php - 在 PHP 和正则表达式中使用 preg_match_all 进行 URL 匹配

我正在尝试构建一个从 imdb 列表中获取电影网址的爬虫。我能够将页面上的所有链接放入一个数组中,并且只想选择那些带有“标题”的链接。

哪里$pattern='/title/'

我收到以下错误:

关于如何去做的任何想法?非常感谢。

0 投票
3 回答
1220 浏览

php - PCRE:同时是懒惰和贪婪(占有量词)

我正在尝试将一系列文本字符串与 PHP 上的 PCRE 进行匹配,并且无法在第一个和第二个之间获取所有匹配项。

如果有人想知道我到底为什么要这样做,那是因为 Doc Comments。哦,我多么希望 Zend 能够制作原生/插件函数来从 PHP 文件中读取 Doc Comments ......

以下示例(纯文本)将用于问题。它始终是纯 PHP 代码,文件开头只有一个开始标记,没有结束标记。您可以假设语法总是正确的。

问题

试图匹配一个类中的所有方法;我的 RegEx 根本找不到该方法killFurbies()。让它贪婪意味着它只匹配一个类中的最后一个方法,让它变得懒惰意味着它只匹配第一个方法。

结果是:

我如何匹配所有?:S

任何帮助将不胜感激,因为我在打字时已经觉得这个问题很荒谬。任何试图回答这样的问题的人都比我勇敢!

0 投票
2 回答
1808 浏览

php - 正则表达式 - PHP 环顾四周

我有一个字符串,例如:

我知道这是一个奇怪的字符串,但请和我在一起:P

我需要一个正则表达式来查找 __("Look for content here") 之间的内容并将其放入数组中。

即正则表达式会找到“你好吗”和“非常好,谢谢”。

0 投票
2 回答
8968 浏览

php - PHP:如何获取 preg_match_all 的字符串索引?

假设我有两个正则表达式,

和文字

我想要的是使用 preg_match 获得以下索引:

有什么方法可以使用 preg_match_all 获取这些索引,而无需每次都遍历文本?

编辑:解决方案PREG_OFFSET_CAPTURE !

0 投票
2 回答
436 浏览

php - 查找不在特定标签之间的所有内容

我正在使用

查找和之间的所有<?内容?>

现在我想找到不在和之间的<?一切?>

我正在尝试

但这似乎不起作用...

0 投票
2 回答
233 浏览

php - 如何在 PHP 中首先处理最大的匹配项?

好的,所以我先尝试搜索,但我不知道如何表达这个问题或搜索短语。让我解释。

我的数据如下所示:

所以它基本上是一堆点。这是我目前用来尝试解析它的代码,以便它可以创建一个像这样的数组:

但是,它返回一个如下所示的数组:

查看我屏幕上的较大数组,您会看到它在匹配时设置了该变量的第一个实例。那么我如何让它首先找到最广泛的匹配然后处理内部。这是我目前正在使用的功能:

我确信这将是我忽略的一些愚蠢和简单的事情,但这只是我想它对你来说是一个简单的答案。

编辑:这是我从中提取此样本的整个数据集的完整输出日志。标签被打印出来(用 > 和 < 替换它们)并且它们都在一个巨大的<code></code>元素中以便于阅读。

这是搞砸的部分:

因此,它会在其中的另一块停止标记的第一次出现处停止。我是否应该考虑相反的方向并首先处理最小的部分,替换它们以免中断较大的部分,然后再处理较大的部分?

0 投票
6 回答
2243 浏览

php - 如何匹配字符串中的所有内容,直到第二次出现带有正则表达式的分隔符?

我试图preg_match_all通过找到第二次出现的句点然后是空格来优化 a:

但它不起作用:{2}发生不正确。

我必须使用preg_match_all,因为我正在抓取动态 HTML。

我想从字符串中捕获它: