问题标签 [backreference]

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.

0 投票
4 回答
547 浏览

javascript - 如何将 Javascript 反向引用传递给键或函数?

0 投票
2 回答
2066 浏览

regex - 如何使用 sed 用下划线替换方括号内的所有空格?

我发现为了将 [some name] 转换为 [some_name] 我需要使用以下表达式:

即,为任何以文字“[”开头的内容创建一个反向引用捕获,该文字包含任意数量的非空格字符,后跟一个空格,以替换为非空格字符,后跟一个下划线。我还不知道如何改变这个表达式,使其适用于大括号内的所有下划线,例如 [a few words] 到 [a_few_words]。

我感觉我已经很接近了,但我只是错过了一大块知识,这些知识将在一行(SQL Server 的在这种情况下为 DDL)。

任何建议都非常感谢......

0 投票
3 回答
1800 浏览

regex - Perl 模式匹配变量问题

我正在尝试打开一个文件,匹配特定的行,然后在该行周围包装 HTML 标记。看起来非常简单,但显然我遗漏了一些东西并且没有正确理解 Perl 匹配的模式变量。

我将这条线与此匹配:

这使整条生产线变成了 1 美元。然后我尝试像这样打印出我的新行:

我希望它打印这个:

但是,我实际上得到了这个:

我尝试了各种变体——在单独的行上打印每个位,将 $1 设置为新变量,使用 $+ 和 $& 等,我总是得到相同的结果。

我错过了什么?

0 投票
1 回答
2510 浏览

php - 如何在 PHP 中使用反向引用

我想使用 preg_replace() 在正文中找到的每个文件扩展名的末尾添加一个字符。

这是一些示例文本:

此搜索和替换在 TextWrangler 中运行良好,将分号附加到文件扩展名:

翻译成PHP,但是不起作用,没有效果;没有错误。

0 投票
1 回答
1604 浏览

regex - 从正则表达式返回的文本插入 SQL 服务器

在 SQL Server 2008 中,我从下面的代码项目站点构建了一个正则表达式匹配和替换函数,并且运行良好。 http://www.codeproject.com/KB/string/SqlRegEx.aspx?msg=3683405#xx3683405xx。这个函数基本上是查找列文本,找到匹配并用替换的文本替换。我在这里使用了反向引用。

例如,如果 Column1 有“第一篇文章 #345 被 9999 引用并放置在 001 中”,它将返回 345#9999#001

选择语句 Select column1, dbo.ufn_RegExReplace(Column1, '(?\d+). ?(?\d+). ?(?\d+).*?(?\d+)', '${First_number_match}#${ Second_number_match}#Third_number_match',1) 工作正常。

我想要的是将 345#9999#001 插入到表的三列中。

请注意,在我的实际问题中,我将不得不使用正则表达式。我简化了专家以专注于该问题。

正如我们所知,正则表达式令人伤脑筋,并且与 SQL 一起使用会增加它。因此,我将不胜感激这方面的任何帮助。感谢您花时间阅读本文。

0 投票
4 回答
7814 浏览

php - 使用 preg_replace 命名的反向引用

很简单;我似乎找不到任何关于 PHPpreg_replace()支持命名反向引用的明确信息:

这是一个简单的示例,但我想知道是否(?P=name)根本不支持这种语法。语法问题,还是不存在的功能?

0 投票
2 回答
4832 浏览

regex - 为什么不创建反向引用?

我知道将?:正则表达式的括号放在开头会阻止它创建反向引用,这应该会更快。我的问题是,为什么要这样做?速度的提高是否足以值得考虑?在什么情况下,它会变得如此重要,以至于您每次不打算使用它时都需要小心地跳过反向引用。另一个缺点是它使正则表达式更难阅读、编辑和更新(如果您最终想稍后使用反向引用)。

总而言之,为什么不创建反向引用呢?

0 投票
3 回答
4649 浏览

regex - 使用带有 sed 的正则表达式分组替换字符

我有一个像这样的文本文件:

我需要把它变成:

我能做的最好的是:

但输出是

关闭,但没有雪茄。关于为什么我的正则表达式不起作用的任何想法?

0 投票
1 回答
486 浏览

php - 如何在递归正则表达式中反向引用匹配?

我有一个这样的字符串:

我想删除\n第三个字段 ( comment=...) 中的 。

我有这个正则表达式可以满足我的目的,但不是很好:

我的问题是第二组中的每场比赛都会覆盖前一场比赛。因此,而不是这样:

我最终得到了这个:

有没有办法将中间反向引用存储在正则表达式中?还是我必须匹配循环内的每个事件?

谢谢!

0 投票
1 回答
719 浏览

javascript - Javascript regexp:在反向引用模式中使用变量?

我有一个模式可以在查询字符串中查找匹配项:

我想做的是使用变量值作为参数来匹配:

[编辑] 以下是如何使用代码的上下文:

但它没有按预期工作 - 任何人都可以帮忙吗?