pcre相关内容
preg_replace 只是 PHP 中的括号的正确语法是什么? $search = preg_replace('/\(\)/','',$search); 谢谢 解决方案 假设您想从 $search 中删除 ( 和 )> 字符串: $search = preg_replace('/\(|\)/','',$search); 我认为最快的方法是使用 strtr 函数,如下所示
..
..
我正在尝试将一系列文本字符串与 PHP 上的 PCRE 进行匹配,但无法在第一个和第二个之间获得所有匹配项. 如果有人想知道我到底为什么要这样做,那是因为 Doc Comments.哦,我多么希望 Zend 能够使本机/插件函数能够从 PHP 文件中读取文档注释... 以下示例(纯文本)将用于解决问题.它将始终是纯 PHP 代码,文件开头只有一个开始标记,没有结束标记.您可以假设语法总
..
使用 PCRE,我只想捕获一行中的所有数字,但前提是该行内的任何位置都存在某个字符串(例如“STRING99"). 例如,考虑以下两种情况: a1 STRING99 2b c3da1 2b c3d 在第一种情况下,我希望结果是“19923".在第二种情况下,我想要一个空结果. 我不确定这是否可行.它可能适用于可变长度的lookbehind,但在PCRE 中不受支持.此外,类似于 (
..
TL;DR:有没有办法指定一个条件,以便开始元素必须与其配对的结束元素匹配? 示例位于 在 regex101.com 上. ====== 正则表达式中的平衡元素通常通过递归处理.这意味着可以定位嵌套的 {...{...{...}...}...}. 此外,PCRE 允许使用 (?(DEFINE)...) 构造,它允许您定义各种模式而无需实际开始匹配. 在正则表达式中
..
我想找到仅由字母 a、b 和 c 组成的每一行.我有正则表达式 print(re.findall('^[abc]+$', text)) 但我没有从这段文字中得到任何结果: Lorem ipsum dolor sat amet, consectetur adipiscing elit, sed do eiusmod临时事件 ut laboure et dolore magna aliqua.U
..
我有以下字符串,例如: aaXXccYYeeXX_ZZkkYYmmXX_ZZnnXXooYYuuXX_ZZvv 如何找到字符串中的所有 XX.*YY.*ZZ 部分?(可能通过使用 preg_match()) XX cc YY eeXX_ ZZ XX _ZZkk YY mmXX_ ZZ XX _ZZnnXXoo YY uuXX_ ZZ XX oo YY uuXX_ ZZ 加上所
..
我正在使用使用 php 的自生成导航.我需要将第一个和第二个单词包装在单独的 div 类中.例如 第一第二词 目前我可以使用 将第一个单词包装在跨度类中 $name = preg_replace('/(?)\b(\w*)\b|^\w*\b/', '$0', $ni->name); 有谁知道我如何改变它来包装前
..
有没有办法使用对前一个捕获组的反向引用作为命名捕获组的名称?这可能是不可能的,如果不是,那么这是一个有效的答案. 以下内容: $data = '描述:一些描述';preg_match("/([^:]+): (.*)/", $data, $matches);print_r($matches); 产量: ([0] =>描述:一些描述[1] =>描述[2] =>一些描述) 我尝试使用对第一
..
我阅读了 preg_filter 函数的文档,它看起来如下.这是 来自 php.net 站点. $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');$pattern = array('/\d/', '/[a-z]/', '/[1a]/');$replace = array('A:$0', 'B:$0', 'C:$0');print_r
..
我想将哪个 RegEx-Flavour 用于 Python?它是 PCRE、Perl 兼容还是 ICU 或其他什么? 解决方案 它与 Perl 的足够兼容,这意味着大多数 Perl 表达式无需修改即可工作.它旨在与 Perl 兼容,但当然也存在一些细微差别. 从技术上讲,它使用自己的正则表达式风格.例如,在其他实现采用该语法之前很久,Python 正则表达式中就提供了命名组.它还支持
..
模式 (?>>进口重新>>>s = 'somestring.asp?1=123'>>>re.sear
..
我想要一个 PCRE 正则表达式来创建类似于这个 问题,但没有重复的单词. 全匹配:苹果橙李子第 1 组:苹果橙第 2 组:橙梅 我最接近的是这个,但第二组中没有捕获“橙色". (\b.+\b)(\g)\b 解决方案 您正在寻找这个: /(?=(\b\w+\s+\w+))/g 这是一个快速的 perl 单行代码来演示它: $ perl -e 'while ("苹果橙梅" =~/(?
..
我的正则表达式: (?si)\bStart\b(.*?)\bError\b(.*?)\bEnd\b 这适用于以下场景: 事情发生开始事情发生错误事情发生结尾 但也匹配Start和End序列之外的Error: 开始结尾错误开始结尾 当条件变得像场景 #2 时,如何只匹配第一个示例中的匹配? 解决方案 Alexander 的回答 可能已经足够了,但我会这样做: (?si)\bSt
..
我搜索了一个正则表达式模式,它不应该匹配一个组,而是匹配其他所有内容. 以下正则表达式模式基本有效: index\.php\?page=(?:.*)&tagID=([0-9]+)$ 但是 .* 不应该匹配 TaggedObjects. 感谢您的建议. 解决方案 (?:.*) 是不必要的 - 你没有分组任何东西,所以 .*意思完全一样.但这不是您问题的答案. 要匹配不包含另
..
这里是我想提取标签 {{if}} 和 {{\if}} 之间包含的字符串,我的意思是第一个和最后一个(引擎会重新检查内部的): "before {{if^^p1^p2}} IN1; {{if^ ^p1}} {{iif}} IN3 {{/if}} IN1-1 {{/if}} after""before {{if^ ^p1}} IN1; {{if^ ^p1}} {{if^ ^p1}} IN3 {{
..
我正在尝试匹配文本: 1.“嘿嘿嘿嘿" 2.“嘿嘿嘿嘿" 使用正则表达式: a /(\w+) \1\w/ b /(\w+) (\w+)\w/ c /(\w+) (?1)\w/ Regex a 完全匹配1,2 完全但最后一个 'y'. Regex b 完全匹配 1 和 2. Regex c 不匹配 1 或 2. 遵循http://www.rexeg
..
我只是在尝试优化一些代码时做了一些基准测试,并观察到 strsplit 和 perl=TRUE 比运行 更快strsplit 和 perl=FALSE.例如, set.seed(1)ff
..
评论我对这个问题的回答应该使用strsplit 不会,即使它似乎正确匹配字符向量中的第一个和最后一个逗号.这可以使用 gregexpr 和 regmatches 来证明. 那么为什么在这个例子中 strsplit 在每个逗号上拆分,即使 regmatches 只返回 same 正则表达式的两个匹配项? # 我们想在第一个逗号和# 最后一个逗号(此字符串中的位置 4 和 13)x 嗯?!
..
是否可以匹配以逗号分隔的十进制整数列表,其中列表中的整数总是递增一? 这些应该匹配: 0,1,2,38、9、10、111999、2000、200199,100,101 这些不应该匹配(整体而言 - 最后两个具有匹配的子序列): 423,2,11,2,410、11、13 解决方案 是的,当使用支持反向引用和条件的正则表达式引擎时,这是可能的. 首先,可以将连续数字的列表分解为每
..