backreference相关内容
考虑(\w[0-9]).*\1 RegEx,它匹配d1akdhfafd1、R2ddsfasfasfdsfdR2等. 是否可以编写与以下内容匹配的正则表达式:D1dfsadfadsfE3、z6adfdasfdfr2、e3654654e0、.... \w[0-9] 只是一个例子,请考虑一般形式 (::A_Complex_Pattern::).*\1 解决方案 PHP 的正则表达式引
..
我正在尝试制作一个验证输入字符串的模式.验证规则不允许任何字符连续重复超过 3 次. 例如: Aabcddee - 有效. Aabcddde - 无效,因为有 3 个 d 字符. 目标是提供一个 RegExp 模式,它可以匹配上述示例之一,但不能同时匹配两者.我知道我可以使用反向引用,例如 ([a-z])\1{1,2} 但这仅匹配顺序字符.我的问题是我无法弄清楚如何为此制作
..
有没有办法使用对前一个捕获组的反向引用作为命名捕获组的名称?这可能是不可能的,如果不是,那么这是一个有效的答案. 以下内容: $data = '描述:一些描述';preg_match("/([^:]+): (.*)/", $data, $matches);print_r($matches); 产量: ([0] =>描述:一些描述[1] =>描述[2] =>一些描述) 我尝试使用对第一
..
试图使用Bash的内置正则表达式匹配来解析以下类型的字符串,这些字符串将转换为Perl替换表达式(引号不是数据的一部分) '〜#A#B#'#^ ^ ^-替换字符串.#|+ ----模式字符串.#+ ------正则表达式指示符(无需转义字符串A和B),#仅在字符串A和B被##包围时才允许.#字符串A和B可能不包含#,但允许带有〜.'#A#B#'#^ ------当缺少正则表达式指示符时,字符串A
..
在SQL Server 2008中,我从下面的代码项目站点构建了一个正则表达式匹配和替换功能,并且运行良好. http://www.codeproject.com/KB/string/SqlRegEx .aspx?msg = 3683405#xx3683405xx . 此功能基本上是查找列文本,找到匹配项并替换为替换的文本.我在这里使用过回溯引用. 例如如果Column1中有“第一篇文章#3
..
我对使用反向引用感到非常困惑 strings
..
下面的代码不起作用,因为\ 10,\ 11等的替换字符串无法正确读取.它将\ 10读为\ 1并打印0,您能帮我解决这个问题吗? 在其中一个线程中有一个答案,说我应该使用捕获或命名组,但是我真的不了解如何使用它们. headline
..
我想修补从网页提取的一些文本数据. 样本: t="First sentence. Second sentence.Third sentence." 第二句结尾处的点后没有空格.这表明我在原始文档中第3句话在一行中(在br标签之后). 我想使用此正则表达式在适当的位置插入"\ n"字符并修补我的文本. 我的正则表达式: t2=t.gsub(/([.\!?])([A-Z1-9])
..
我阅读了 http://swtch.com/~rsc/regexp/regexp1.html ,作者在其中说,为了在正则表达式中具有反向引用,匹配时需要反向跟踪,这使得最坏情况下的复杂度呈指数级增长。但我不明白为什么反向引用会引入回溯的必要性。有人可以解释为什么,也许可以提供一个例子(正则表达式和输入)? 解决方案 要直接解决您的问题,您应该对 Chomsky层次结构进行简短的研究。这是一
..
我想要实现的是将在sed正则表达式中捕获的Base64编码值传递给base64并对其进行解码. 但是问题是,即使似乎使用反向引用将正确的值传递给了函数,base64仍抱怨输入无效. 以下是我的脚本- #!/bin/bash decodeBaseSixtyFour() { echo "$1 is decoded to `echo $1 | base64 -d`" } ec
..
我早些时候发布了这个问题./p> 但是那还没结束. 在那里适用的所有规则仍然适用. 所以字符串: "%ABC%"结果将产生ABC(在百分号之间捕获内容) 与"$ABC."一样(捕获$之后的内容,当出现另一个美元或点时放弃) "$ABC$XYZ"也会,并且也给出XYZ. 为此添加更多内容: "${ABC}"也应产生ABC. (忽略大括号(如果存在的话-可能不捕获字符?)
..
在Perl正则表达式中,像\1,\2等这样的表达式通常被解释为先前捕获的组的“反向引用",但是当\1,\2等出现在字符中时则不是这样.班级.在后一种情况下,\被视为转义字符(因此\1只是1等). 因此,如果(例如)一个人想要匹配一个字符串(长度大于1),该字符串的第一个字符与最后一个字符匹配,但没有出现在字符串的其他位置,则以下正则表达式将 not 做: /\A # mat
..
在R中,我可以使用\\1引用捕获组.但是,在使用stringi软件包时,此操作无法按预期进行. library(stringi) fileName
..
我正在尝试挑战: https: //regex.alf.nu/4 我要匹配所有不包含ABBA模式的字符串。 匹配项: 美学生理学 两性的 巴利雅 拟态 不匹配 厌食症 野牛 绒囊尿 球菌 abba 首先,我有一个正则表达式来确定ABBA模式。 (\w)(\ \w)\2\1 接下来,我想匹配不包含该字符串的
..
Vim帮助说: \1匹配与* / \1 * * E65 * \(和\)中的第一个子表达式。 {Vi无此功能} 示例:“ \([az] \).\1”匹配“ ata”,“ ehe”,“ tot”等。 看起来 backreference 可以用于搜索模式。我开始玩它,发现无法解释的行为。这是我的文件: 一
..
MySQL手册对其支持的表达式不是很详细,因此我不确定MySQL是否完全可以实现以下条件. 我正在尝试使用RLIKE创建一个与以下内容匹配的查询. 任务是从SQL中获取所有句子,这些句子至少包含给定句子中的任意两个单词. 让我们说一下,我在正则表达式中使用了一些特定的词: hello, dog 我在数据库中有以下句子: hello from dog hello h
..
.htaccess文件中包含以下内容: RewriteCond %{QUERY_STRING} ^route\=product\/category\&path\=35\&page\=([0-9]+)$ RewriteRule ^index\.php$ http://%{HTTP_HOST}/product/category/35/page_$1? [R=301,L] 当我输入URL时,它
..
你可以在JavaScript中反向引用: var str =“123 $ test 123”; str = str.replace(/(\ $)([a-z] +)/ gi,“$ 2”); 这会(非常愚蠢)将“$ test”替换为“test”。但想象一下,我想将结果字符串$ 2传递给一个函数,该函数返回另一个值。我尝试这样做,但不是得到字符串“测试”,我得到“$ 2”。
..
我想像整数一样使用$ 1值。 想法是用原始文本替换所有数字和等效数组值并创建一个新文本。 下面期望的结果应该是“这是DBValue4,这是DBValue2,这是DBValue7” 另外,有没有办法保存这些反向引用以供进一步使用? 字符串[]值= { “DBValue0”, “DBValue1”, “DBValue2”, “DBValue3”, “DBValue4”, “DB
..
在Java中,似乎在其他几种语言中,模式中的反向引用前面都有反斜杠(例如 \1 , \\ \\ 2 , \3 等),但在替换字符串中,它们前面有一个美元符号(例如 $ 1 , $ 2 , $ 3 ,还 $ 0 )。 这里有一个片段来说明: System.out.println( “left-right”.replaceAll(“(。*) - (。*)”,“\\\\-\\\\”)//错
..