问题标签 [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 投票
1 回答
2364 浏览

regex - 使用正则表达式匹配除三个之外的 Unicode 控制字符

我需要一个正则表达式,它匹配除回车符 (0x0d)、换行符 (0x0a) 和制表符 (0x09) 之外的所有 Unicode 控制字符。目前,我的正则表达式如下所示:

我现在只需要定义这三个例外。

0 投票
27 回答
275583 浏览

regex - sed中的非贪婪(不情愿)正则表达式匹配?

我正在尝试使用 sed 清理 URL 行以仅提取域。

所以从:

我想:

(无论有没有斜杠,都没有关系)

我试过了:

和(转义非贪婪量词)

但我似乎无法让非贪婪量词 ( ?) 工作,所以它总是最终匹配整个字符串。

0 投票
1 回答
3932 浏览

regex - 有人可以向我解释所有格量词吗?(常用表达)

我正在阅读 PCRE 文档,它指的是所有格量词,但没有明确或具体定义它们。我知道什么是贪心量词,我也知道什么是懒惰量词。但是占有欲?

PCRE 手册页使用该术语而不定义它时,它似乎在作弊。手册页特别指出,所有格量词一词最初是在Friedl 的书中定义的。好吧,那很好,但我没有弗里德尔的书,在阅读手册页时,我无法弄清楚所有格量词与贪婪量词的区别。

  • ? = 零或一,贪婪
  • ?? = 零或一,懒惰
  • ?+ = 零或一,所有格
  • '+' = 一个或多个,贪婪
  • +?= 一个或多个,懒惰的
  • ++ = 一个或多个,所有格
0 投票
5 回答
2246 浏览

php - 正则表达式帮助 - Wordpress (search-regex)

我第一次尝试使用 RE 让我卡住了。我正在通过Search-Regex 插件在 Wordpress 网站上使用 Regex,并且需要匹配隐藏在一堆 html 代码中的特定“。HTML 示例:

在上面的例子中,有三个目标

我正在使用的正则表达式是/6a00d834.*?"/它定位它们,但是我只想匹配结尾"而不是整个字符串。这些是缺少文件扩展名的图像,所以我需要用 .jpg 替换结尾的“我理解表达式的替换部分,这是我遇到问题的初始匹配。

我有一堆(221),所有目标都以6a00d834一些随机字母数字开头"

欣赏任何见解。谢谢。

从 OP 的评论中添加的编辑:实际上它是在 Wordpress 网站上使用插件 (REGEX) 来查询和替换 SQL 中的数据。我可以使用任何与 Perl 兼容的正则表达式。(来自编辑器的注释 - 取决于插件,这很可能实际上不是使用 Perl,而是 PHP 的 PCRE 实现。)

0 投票
1 回答
647 浏览

regex - 在没有最外层括号的情况下匹配 PCRE 中的括号内容

我需要提取不平衡括号构造的内容。在 PCRE 手册中,我找到了匹配平衡括号的解决方案。

对于我的测试

它提取

但我想在没有最外层括号的情况下提取相同的内容:

有人可以指出解决方案吗?

0 投票
1 回答
365 浏览

php - PCRE 将 #334455 十六进制替换为 #345

我正在编写一个函数,将长十六进制编码颜色(#334455)替换为短颜色( #345)。仅当十六进制中的每种颜色都是 17 的倍数(每个十六进制对由相同的字符组成)时,才能做到这一点。

eg#EEFFCC替换为#EFC,但 #EDFFCC不替换为任何内容。

我想通过单次preg_replace()调用来完成此操作,而无需任何自定义回调。

我已经尝试过这个:

但这会缩短所有十六进制,而不仅仅是每对中具有相同字符的十六进制。我不知道如何只匹配相同字符的对。

请帮忙。

0 投票
3 回答
2952 浏览

c - 部署使用 PCRE 库的 C 应用程序

我编写了一个使用 PCRE 库的 C 应用程序。一切都在我自己的电脑上运行。但是,当我将二进制文件复制到另一台计算机并运行它时,会出现以下错误:

/libexec/ld-elf.so.1:找不到共享对象“libpcre.so.0”,“myapp”需要

我知道我可以通过在目标计算机上安装 PCRE 库来让它工作。但是,我想知道是否有更方便的方法来做到这一点?(只是复制几个lib文件?)

我试图复制 libpcre.so.0 文件,但没有成功。

任何帮助表示赞赏!谢谢,

0 投票
5 回答
17517 浏览

php - PHP ereg 与 preg

我注意到在 PHP regex 库中有 ereg 和 preg 之间的选择。有什么不同?一个比另一个快,如果是这样,为什么不弃用较慢的一个?

在任何情况下使用一种比另一种更好吗?

0 投票
2 回答
52878 浏览

php - 如何将 PHP 的 eregi 更改为 preg_match

可能重复:
如何在 PHP 中将 ereg 表达式转换为 preg?

我需要帮助,下面是一个很小的非常基本的正则表达式,可以在一定程度上验证电子邮件,我确实意识到它的效果不是最好的,但就我的需要而言,现在还可以。

它目前使用 PHP 的eregi 函数,php.net 说它现在是一个折旧的函数,我应该使用preg_match代替,简单地用 preg_match 替换 erei 是行不通的,有人可以告诉我如何让它工作吗?

0 投票
1 回答
598 浏览

php - 使用 PHP PCRE 获取 div 内容


我正在尝试使用 PHP 的 PCRE 从 div 中获取数据(基于他的 id)。目标是根据 id 获取 div 的内容,并使用递归/深度来获取其中的所有内容。这里的主要问题是在“主 div”中获取其他 div,因为正则表达式一旦获得</div>在初始之后找到的下一个 div 就会停止<div id="test">

我尝试了很多不同的方法来解决这个问题,但都没有奏效。在我看来,最好的解决方案是使用R参数(递归),但从未让它正常工作。

任何想法?

先谢谢了