问题标签 [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 回答
12303 浏览

php - PHP PREG 正则表达式:使用 UTF-8 修饰符时“\W”是什么意思?

我知道在普通的php 正则表达式(ASCII 模式)中,“\w”(单词)表示“字母、数字和 _”。但是,当您使用带有“u”修饰符的多字节正则表达式时,这意味着什么?

0 投票
6 回答
1797 浏览

php - 正则表达式反向引用

具有以下正则表达式:

它匹配a5a,有什么办法让它也匹配a5ba5c等等a5d


编辑:好的,我知道我可以使用([a-z])([0-9])([a-z])但我有一个非常长且复杂的正则表达式(匹配sub-sub-sub-...-domains匹配 IPv4 地址),这将真正受益于上述行为. 这是否可以通过反向引用或其他任何方式实现?


匿名。答案是我需要的,但似乎是错误的。

0 投票
2 回答
36397 浏览

php - 正则表达式:\w - UTF-8 中的“_”+“-”

我需要一个匹配 UTF-8 字母和数字的正则表达式,破折号 ( -) 但不匹配下划线 ( _),我尝试了这些愚蠢的尝试但没有成功:

  • ([\w-^_])+
  • ([\w^_]-?)+
  • (\w[^_]-?)+

是的\w简写[A-Za-z0-9_],但如果我u设置了修饰符,它也匹配 UTF-8 字符。

谁能帮我解决这个问题?

0 投票
2 回答
2048 浏览

php - 正则表达式 - Unicode 属性参考和示例

我对 RegexBuddy 提供的 Regex Unicode 属性感到迷茫,我无法区分任何数字属性和数学符号属性似乎只匹配+但不匹配-*例如/^

RegexBuddy Unicode 属性

是否有任何文档/参考与正则表达式 Unicode 属性的示例?

0 投票
6 回答
6475 浏览

regex - PCRE 正则表达式到 sed 正则表达式

首先对我糟糕的英语感到抱歉。我是德国人。

下面给出的代码在 PHP 中运行良好:

现在 T 需要相同的sed。我认为应该是:

但这给了我这个错误:

sed: -e 表达式 #1, char 36: 's' 命令的 RHS 上的无效引用 \1

0 投票
3 回答
11362 浏览

php - PHP PCRE(正则表达式)不支持 UTF-8?

我正在尝试在我的网站上运行正则表达式,并且收到以下回复:

编译失败:在偏移量 1 处未编译对 \P、\p 和 \X 的支持

在谷歌搜索了一下之后,我发现我的服务器上的 PCRE 显然没有启用 UTF8,因此导致了问题。当我使用 pcretest -CI SSH 时

PCRE 版本 6.6 2006 年 2 月 6 日

编译时支持 UTF-8 不支持 Unicode 属性 换行符为 LF 内部链接大小 = 2 POSIX malloc 阈值 = 10
默认匹配限制 = 10000000
默认递归深度限制 = 10000000 匹配递归使用堆栈

当我执行 yum update pcre 时,它​​告诉我没有任何要更新的内容。

人们告诉我我可以打开 UTF-8 支持...帮助?

我是菜鸟。

0 投票
3 回答
16103 浏览

php - 如何将重音字符与 PHP preg 匹配?

我想让我的用户不仅可以填写字母和数字,还可以填写“á”、“é”等“特殊”字母。但是,我不希望他们能够使用符号如“!”、“@”、“%”等。

有没有办法编写一个正则表达式来完成这个?(最好不要指定每个特殊字母。)

我现在有:

0 投票
4 回答
5342 浏览

php - PHP regexp 模式中需要额外的反斜杠

在测试另一个用户问题的答案时,我发现了一些我不明白的东西。问题是\t \n \r用一个空格替换字符串中的所有文字字符。

现在,我尝试的第一个模式是:

令人惊讶的是没有用。我在 Perl 中尝试了相同的模式并且效果很好。经过反复试验,我发现 PHP 需要 3 或 4 个反斜杠来匹配该模式,如下所示:

或者

这些模式——令我惊讶的是——都有效。为什么需要这些额外的反斜杠?

0 投票
4 回答
4389 浏览

php - preg_match_all (PHP) 中的 UTF-8 字符

我有preg_match_all('/[aäeëioöuáéíóú]/u', $in, $out, PREG_OFFSET_CAPTURE);

如果$in = 'hëllo' $out是:

的位置o应该是4。我已经在网上阅读过这个问题(ë被计为2)。有解决方案吗?我见过mb_substr类似的,但是有这样的东西preg_match_all吗?

有点相关:它们相当于preg_match_allPython 吗?(返回匹配数组及其在字符串中的位置)

0 投票
2 回答
148 浏览

php - 正则表达式“/^something/”行为

在某些晦涩的情况下,像“/^match/”这样的正则表达式以完全相反的方式工作,匹配“其他东西”的行,修复它的唯一方法是将整个正则表达式放在大括号内......“/ ^(match)/",为什么会这样?