问题标签 [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.
c++ - 在 C/C++ 中存储 PCRE 编译的正则表达式
有没有一种有效的方法将编译的正则表达式(通过 regcomp()、PCRE 编译)存储在二进制文件中,以便稍后我可以从文件中读取并调用 regexec()?
或者只是将已编译的 regex_t 结构转储到文件并在需要时将它们读回的问题?
regex - 针对多个正则表达式有效地查询一个字符串
假设我有 10,000 个正则表达式和一个字符串,我想找出字符串是否与其中任何一个匹配并获取所有匹配项。最简单的方法是针对所有正则表达式逐一查询字符串。有没有更快、更有效的方法呢?
编辑:我尝试用 DFA (lex) 代替它这里的问题是它只会给你一个单一的模式。如果我有一个字符串“hello”和模式“[H|h]ello”和“.{0,20}ello”,DFA 只会匹配其中一个,但我希望它们都命中。
regex - 用正则表达式匹配时间字符串
我想将字符串中的时间(10.00)与日期和时间(“21.01.08 10.00”)相匹配。我正在使用以下正则表达式:
但这与 21.01.08 和 10.00 中的 21.01 匹配。
我使用 PCRE 作为我的常规表达式引擎。
更新:
对不起,我应该更清楚。数据和时间是较大字符串的一部分。我想从那个字符串中提取时间。
例如:
“21.01.08 从 10.00 开始,图书馆将举行派对” “21.08.08 - 10:00 将举行派对” “21.08.08 你被安排参加.................. 10:00 开始"
这可能吗?
php - 正则表达式(在 PHP 中)匹配 & 不是 HTML 实体
这是目标:用 & 替换所有独立的 & 符号。但不能替换那些已经是 HTML 实体(例如 )的一部分。
我想我需要一个 PHP 的正则表达式(最好是 preg_ 函数),它只匹配独立的 & 符号。我只是不知道如何用 preg_replace 做到这一点。
php - 正则表达式:匹配除完整标记之外的任何内容
我有以下代码片段,我想在其中提取{foreach}
和{/foreach}
使用正则表达式之间的代码:
我已经有了:
但在那之后我无法匹配任何东西。有什么办法可以匹配任何东西,但 {/foreach} 作为一个整体令牌?请注意,{foreach}{/foreach} 之间的内容也可以包含“{$”标记。
编辑:BaileyP 和 Tomalak 的答案是正确的,但为了简单起见,我选择了 BaileyP 的答案。
destructor - 为什么这行代码会出现缓冲区溢出错误?
我只有 1 行代码,这是:
在一个函数里面OnBnClickedButtonGo()
。此功能在发布模式下失败,但在调试模式下工作正常。
(我在 Windows XP 上使用 Visual Studio 8。)
错误信息是:
我怀疑它是它的析构函数,它是不可见的和隐含的......但我真的不知道。
PS:我静态链接到 PCRE lib 7.8 版。PS2:不是很相关,但可能会帮助一些无法链接到 PCRE 库的人(我花了几个小时才整理出来):包括#define PCRE_STATIC
.
php - preg_match_all() [function.preg-match-all]: 未知修饰符 ']'
使用了几种不同的模式,但它们都出现了这个错误——那么有什么问题呢?
我最短的诊断是:
谢谢
regex - Unicode 正则表达式;无效的 XML 字符
有效 XML 字符的列表是众所周知的,如规范所定义的那样:
我的问题是,是否可以通过使用 Unicode 通用类别,在不实际硬编码代码点的情况下为此(或其逆)创建 PCRE 正则表达式。逆可能类似于 [\p{Cc}\p{Cs}\p{Cn}],除了不正确地覆盖换行符和制表符并遗漏了一些其他无效字符。
php - preg_match 在 regexbuddy 中工作,而不是在 php 中
好的,所以我有我创建的这个正则表达式,它在 RegexBuddy 中运行良好,但当我将它加载到 php 中时却不行。下面是一个例子。
使用 RegexBuddy 我可以让它与这个一起工作:
检查点匹配换行符,我添加了不区分大小写的,但它也可以这样工作。
这是php:
所以你可以看到我正在使用 [code][/code],然后一旦我可以提取它,我将在其上运行 htmlentities() 以显示而不是渲染 html 代码。
regex - 需要一个正则表达式来匹配不能全为零的可变长度数字字符串
我需要验证表单上的输入。我希望输入是 1 到 19 位之间的数字。输入也可以从零开始。但是,我想验证它们并非全为零。我有一个正则表达式,可以确保输入是数字并且介于 1 到 19 个数字之间。
但我不知道如何检查整个字符串是否全为零。我试过这个
但它在 00000000000000000001 上失败,因为它允许可变数量的零。
如何检查整个字符串不为零?
谢谢。
我正在尝试在 ASP.NET RegularExpressionValidator 中执行此操作,因此我希望使用单个表达式。我还有其他选择,所以如果不能做到这一点,我也不会不走运。