backreference相关内容

使用反向引用来反向引用模式

考虑(\w[0-9]).*\1 RegEx,它匹配d1akdhfafd1、R2ddsfasfasfdsfdR2等. 是否可以编写与以下内容匹配的正则表达式:D1dfsadfadsfE3、z6adfdasfdfr2、e3654654e0、.... \w[0-9] 只是一个例子,请考虑一般形式 (::A_Complex_Pattern::).*\1 解决方案 PHP 的正则表达式引 ..
发布时间:2021-06-14 20:48:13 PHP

正则表达式:如何匹配没有任何字符重复 3 次的字符串?

我正在尝试制作一个验证输入字符串的模式.验证规则不允许任何字符连续重复超过 3 次. 例如: Aabcddee - 有效. Aabcddde - 无效,因为有 3 个 d 字符. 目标是提供一个 RegExp 模式,它可以匹配上述示例之一,但不能同时匹配两者.我知道我可以使用反向引用,例如 ([a-z])\1{1,2} 但这仅匹配顺序字符.我的问题是我无法弄清楚如何为此制作 ..
发布时间:2021-06-14 20:45:55 其他开发

使用先前的反向引用作为命名捕获组的名称

有没有办法使用对前一个捕获组的反向引用作为命名捕获组的名称?这可能是不可能的,如果不是,那么这是一个有效的答案. 以下内容: $data = '描述:一些描述';preg_match("/([^:]+): (.*)/", $data, $matches);print_r($matches); 产量: ([0] =>描述:一些描述[1] =>描述[2] =>一些描述) 我尝试使用对第一 ..
发布时间:2021-06-14 20:45:17 PHP

模式向后引用到可选的捕获子表达式

试图使用Bash的内置正则表达式匹配来解析以下类型的字符串,这些字符串将转换为Perl替换表达式(引号不是数据的一部分) '〜#A#B#'#^ ^ ^-替换字符串.#|+ ----模式字符串.#+ ------正则表达式指示符(无需转义字符串A和B),#仅在字符串A和B被##包围时才允许.#字符串A和B可能不包含#,但允许带有〜.'#A#B#'#^ ------当缺少正则表达式指示符时,字符串A ..
发布时间:2021-04-14 19:39:42 其他开发

从正则表达式返回的文本插入SQL Server

在SQL Server 2008中,我从下面的代码项目站点构建了一个正则表达式匹配和替换功能,并且运行良好. http://www.codeproject.com/KB/string/SqlRegEx .aspx?msg = 3683405#xx3683405xx . 此功能基本上是查找列文本,找到匹配项并替换为替换的文本.我在这里使用过回溯引用. 例如如果Column1中有“第一篇文章#3 ..
发布时间:2020-11-29 00:43:05 其他开发

使用分组时,如何使用gsub在Ruby正则表达式(regex)中进行反向引用?

我想修补从网页提取的一些文本数据. 样本: t="First sentence. Second sentence.Third sentence." 第二句结尾处的点后没有空格.这表明我在原始文档中第3句话在一行中(在br标签之后). 我想使用此正则表达式在适当的位置插入"\ n"字符并修补我的文本. 我的正则表达式: t2=t.gsub(/([.\!?])([A-Z1-9]) ..
发布时间:2020-11-21 18:36:01 其他开发

正则表达式中的反向引用如何使回溯成为必需?

我阅读了 http://swtch.com/~rsc/regexp/regexp1.html ,作者在其中说,为了在正则表达式中具有反向引用,匹配时需要反向跟踪,这使得最坏情况下的复杂度呈指数级增长。但我不明白为什么反向引用会引入回溯的必要性。有人可以解释为什么,也许可以提供一个例子(正则表达式和输入)? 解决方案 要直接解决您的问题,您应该对 Chomsky层次结构进行简短的研究。这是一 ..

将sed backreference传递给base64命令

我想要实现的是将在sed正则表达式中捕获的Base64编码值传递给base64并对其进行解码. 但是问题是,即使似乎使用反向引用将正确的值传递给了函数,base64仍抱怨输入无效. 以下是我的脚本- #!/bin/bash decodeBaseSixtyFour() { echo "$1 is decoded to `echo $1 | base64 -d`" } ec ..
发布时间:2020-09-18 19:53:16 服务器开发

Java Regex-用一美元捕获字符串,但是当它有两个连续的字符串时不捕获

我早些时候发布了这个问题./p> 但是那还没结束. 在那里适用的所有规则仍然适用. 所以字符串: "%ABC%"结果将产生ABC(在百分号之间捕获内容) 与"$ABC."一样(捕获$之后的内容,当出现另一个美元或点时放弃) "$ABC$XYZ"也会,并且也给出XYZ. 为此添加更多内容: "${ABC}"也应产生ABC. (忽略大括号(如果存在的话-可能不捕获字符?) ..
发布时间:2020-08-01 22:03:26 Java开发

用于(等同于)“字符类内的反向引用"的通用方法?

在Perl正则表达式中,像\1,\2等这样的表达式通常被解释为先前捕获的组的“反向引用",但是当\1,\2等出现在字符中时则不是这样.班级.在后一种情况下,\被视为转义字符(因此\1只是1等). 因此,如果(例如)一个人想要匹配一个字符串(长度大于1),该字符串的第一个字符与最后一个字符匹配,但没有出现在字符串的其他位置,则以下正则表达式将 not 做: /\A # mat ..
发布时间:2020-07-19 20:04:12 其他开发

MySQL REGEXP中的负向后引用

MySQL手册对其支持的表达式不是很详细,因此我不确定MySQL是否完全可以实现以下条件. 我正在尝试使用RLIKE创建一个与以下内容匹配的查询. 任务是从SQL中获取所有句子,这些句子至少包含给定句子中的任意两个单词. 让我们说一下,我在正则表达式中使用了一些特定的词: hello, dog 我在数据库中有以下句子: hello from dog hello h ..
发布时间:2020-05-15 06:05:11 数据库

JavaScript - 字符串正则表达式反向引用

你可以在JavaScript中反向引用: var str =“123 $ test 123”; str = str.replace(/(\ $)([a-z] +)/ gi,“$ 2”); 这会(非常愚蠢)将“$ test”替换为“test”。但想象一下,我想将结果字符串$ 2传递给一个函数,该函数返回另一个值。我尝试这样做,但不是得到字符串“测试”,我得到“$ 2”。 ..
发布时间:2019-01-23 21:40:49 前端开发

在正则表达式中使用反向引用来动态替换文本

我想像整数一样使用$ 1值。 想法是用原始文本替换所有数字和等效数组值并创建一个新文本。 下面期望的结果应该是“这是DBValue4,这是DBValue2,这是DBValue7” 另外,有没有办法保存这些反向引用以供进一步使用? 字符串[]值= { “DBValue0”, “DBValue1”, “DBValue2”, “DBValue3”, “DBValue4”, “DB ..
发布时间:2018-12-10 10:16:57 Java开发

替换字符串中的反向引用语法(为什么是美元符号?)

在Java中,似乎在其他几种语言中,模式中的反向引用前面都有反斜杠(例如 \1 , \\ \\ 2 , \3 等),但在替换字符串中,它们前面有一个美元符号(例如 $ 1 , $ 2 , $ 3 ,还 $ 0 )。 这里有一个片段来说明: System.out.println( “left-right”.replaceAll(“(。*) - (。*)”,“\\\\-\\\\”)//错 ..
发布时间:2018-12-06 14:56:26 Java开发