176得票17回答
重复单词的正则表达式

我是一个正则表达式新手,不太清楚如何编写一个单一的正则表达式来“匹配”任何重复的连续单词,例如: 巴黎在the the春天。 并不是that that相关。 你为什么笑?是我的my my正则表达式太糟糕了吗? 是否有一个单一的正则表达式可以匹配上述所有粗体字符串?

101得票5回答
JavaScript - 字符串正则表达式反向引用

在JavaScript中,您可以这样使用反向引用:var str = "123 $test 123"; str = str.replace(/(\$)([a-z]+)/gi, "$2"); 这将(非常愚蠢地)将“$test”替换为“test”。但是想象一下,我想将$2的结果字符串传递到一个函数...

56得票6回答
在正则表达式中否定一个反向引用

如果一个字符串的格式符合预测的格式:value = "hello and good morning" 我想匹配引号之间的字符串,其中引号可能是双引号 " ,也可能是单引号 ' ,闭合引号(' 或 ")与开头的引号相同。\bvalue\s*=\s*(["'])([^\1]*)\1 第一个“捕获组...

50得票2回答
替换字符串中的反向引用语法(为什么使用美元符号?)

在Java以及其他几种编程语言中,模式中的回溯引用前面需要加上反斜杠(例如\1、\2、\3等),但在替换字符串中则需要加上美元符号(例如$1、$2、$3以及$0)。下面是一个代码片段来说明这一点:System.out.println( "left-right".replaceAll("...

43得票1回答
Notepad++ 正则表达式中的反向引用语法在搜索/替换中 - \1 或 $1

我曾尝试使用Notepad++的搜索/替换功能和正则表达式来将特定单词替换为这些单词的缩写。 我使用了以下正则表达式,匹配以er结尾的每个单词(但不包括单独的er),并使用反向引用将匹配的单词替换为相同的单词去掉末尾的r: 查找内容: ([a-zA-z]+e)r 替换为: $1 但...

33得票4回答
R: 在环视中使用环视

我需要匹配任何在两个不同元音字母之前的'r'。例如,'our'或'pear'将匹配,但'bar'或'aar'则不会。我已经成功地匹配了两个不同的元音字母,但我仍然无法将其作为后续'r'的回溯条件(...)。使用(?<=...)r或...\\Kr都没有得到结果。有什么想法吗? x &lt...

29得票3回答
当我使用分组时,在Ruby正则表达式(regex)中如何使用gsub进行反向引用?

我希望能够修补从网页中提取出来的一些文本数据。 样例: t="First sentence. Second sentence.Third sentence." 第二句话结尾的句点后面没有空格。这表明第三句话在原始文档中是单独一行(在 br 标签之后)。 我想使用这个正则表达式将 "\n...

22得票4回答
正则表达式中的反向引用如何导致需要回溯?

我阅读了http://swtch.com/~rsc/regexp/regexp1.html,作者在其中提到为了在正则表达式中使用反向引用,需要在匹配时进行回溯,这使得最坏情况下的复杂度呈指数级增长。但我不清楚为什么反向引用会导致需要回溯。能否有人解释一下原因,并可能提供一个示例(正则表达式和输入)?

19得票5回答
通过绕过 \1 到 \9 的 sed 反向引用限制。

sed手册明确指出,在替换字符串中可用的后向引用是从 \1 到 \9 编号的。我正在尝试解析一个具有10个字段的日志文件。 我已经为此编写了正则表达式,但第十个匹配(以及之后的任何内容)都无法访问。 是否有一种优雅的方式可以规避这种在KSH(或任何其他语言,也许我可以移植到shell脚本)...

19得票1回答
字符类中的“反向引用”(backreferences within character class)的常规方法是什么?

在Perl正则表达式中,像\1、\2等表达式通常被解释为对之前捕获组的“反向引用”,但在字符类中出现\1、\2等时不是这样。在后一种情况下,\被视为转义字符(因此\1只是1等)。因此,如果(例如)想要匹配一个字符串(长度大于1),它的第一个字符与最后一个字符匹配,但没有出现在字符串的任何其他位...