问题标签 [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.
php - 我对 preg_match_all 做错了什么?
目标是查找集合,例如<!-- content:start -->some content here<!-- content:stop -->
并处理每个集合以将其放入数组中,但每次它找不到匹配项并回显我的 die 语句而不打印任何匹配项。注意:开始和结束标记之间的内容通常跨越多行。
这是正在执行的当前函数。
php - preg_match_all 确保不同/独特的结果
我正在使用以下代码来匹配以“$”开头的脚本中的所有变量,但是我希望结果不包含重复项,即不同/唯一:
有什么建议吗?
php - preg_match_all 崩溃/窃听?
好的,所以我有这个脚本至少 3 个月以来都是一样的。代码根本没有被修改过。我的服务器(VPS)也没有被修改过。但现在不知从何而来,大约 24 小时前开始,脚本中的一行导致页面/脚本超时/崩溃(大约 30 秒后出现白页)。
有问题的代码行是这样的:
如果我评论该行,页面加载正常。问题是该行对页面至关重要。有谁知道为什么 preg_match_all 函数会导致页面崩溃?特别是因为我没有更改服务器或脚本上的任何内容..
php - 在 PHP 和正则表达式中使用 preg_match_all 进行 URL 匹配
我正在尝试构建一个从 imdb 列表中获取电影网址的爬虫。我能够将页面上的所有链接放入一个数组中,并且只想选择那些带有“标题”的链接。
哪里$pattern='/title/'
。
我收到以下错误:
关于如何去做的任何想法?非常感谢。
php - PCRE:同时是懒惰和贪婪(占有量词)
我正在尝试将一系列文本字符串与 PHP 上的 PCRE 进行匹配,并且无法在第一个和第二个之间获取所有匹配项。
如果有人想知道我到底为什么要这样做,那是因为 Doc Comments。哦,我多么希望 Zend 能够制作原生/插件函数来从 PHP 文件中读取 Doc Comments ......
以下示例(纯文本)将用于问题。它始终是纯 PHP 代码,文件开头只有一个开始标记,没有结束标记。您可以假设语法总是正确的。
问题
试图匹配一个类中的所有方法;我的 RegEx 根本找不到该方法killFurbies()
。让它贪婪意味着它只匹配一个类中的最后一个方法,让它变得懒惰意味着它只匹配第一个方法。
结果是:
我如何匹配所有?:S
任何帮助将不胜感激,因为我在打字时已经觉得这个问题很荒谬。任何试图回答这样的问题的人都比我勇敢!
php - 正则表达式 - PHP 环顾四周
我有一个字符串,例如:
我知道这是一个奇怪的字符串,但请和我在一起:P
我需要一个正则表达式来查找 __("Look for content here") 之间的内容并将其放入数组中。
即正则表达式会找到“你好吗”和“非常好,谢谢”。
php - PHP:如何获取 preg_match_all 的字符串索引?
假设我有两个正则表达式,
和文字
我想要的是使用 preg_match 获得以下索引:
有什么方法可以使用 preg_match_all 获取这些索引,而无需每次都遍历文本?
编辑:解决方案PREG_OFFSET_CAPTURE !
php - 查找不在特定标签之间的所有内容
我正在使用
查找和之间的所有<?
内容?>
现在我想找到不在和之间的<?
一切?>
我正在尝试
但这似乎不起作用...
php - 如何在 PHP 中首先处理最大的匹配项?
好的,所以我先尝试搜索,但我不知道如何表达这个问题或搜索短语。让我解释。
我的数据如下所示:
所以它基本上是一堆点。这是我目前用来尝试解析它的代码,以便它可以创建一个像这样的数组:
但是,它返回一个如下所示的数组:
查看我屏幕上的较大数组,您会看到它在匹配时设置了该变量的第一个实例。那么我如何让它首先找到最广泛的匹配然后处理内部。这是我目前正在使用的功能:
我确信这将是我忽略的一些愚蠢和简单的事情,但这只是我想它对你来说是一个简单的答案。
编辑:这是我从中提取此样本的整个数据集的完整输出日志。标签被打印出来(用 > 和 < 替换它们)并且它们都在一个巨大的<code></code>
元素中以便于阅读。
这是搞砸的部分:
因此,它会在其中的另一块停止标记的第一次出现处停止。我是否应该考虑相反的方向并首先处理最小的部分,替换它们以免中断较大的部分,然后再处理较大的部分?
php - 如何匹配字符串中的所有内容,直到第二次出现带有正则表达式的分隔符?
我试图preg_match_all
通过找到第二次出现的句点然后是空格来优化 a:
但它不起作用:{2}
发生不正确。
我必须使用preg_match_all
,因为我正在抓取动态 HTML。
我想从字符串中捕获它: