javascript - JavaScript 中的 REGEX 替换函数 交换单词

标签 javascript regex

我正在关注Elequent Javacript's website page on regular expressions并变得有点沮丧。

该页面显示了此示例,该示例交换名字和姓氏,同时删除逗号:

var names = "Picasso, Pablo\nGauguin, Paul\nVan Gogh, Vincent\n";
document.writeln(names.replace(/([\w ]+), ([\w ]+)/g, "$2 $1"));

作者简要解释了它的作用,但很少花精力解释它的工作原理以及该示例的主要功能是什么。

任何人都可以帮助我理解(“$1 和 $2)是什么以及它们引用的内容以及原因

最佳答案

$1$2 引用第一个和第二个捕获组匹配(() 之间的模式 )。

给定的命令将找到正则表达式 /([\w ]+), ([\w ]+)/ 的匹配项并将其应用于所有行 (g 选项)。对于每个匹配,它将替换与 $2 $1 匹配的字符串,即第二个捕获的值,后跟空格,然后是第一个捕获的值。

有关正则表达式的更多信息和良好的起点,您可以前往 regular-expressions.info这是一个相当完整的引用。

关于javascript - JavaScript 中的 REGEX 替换函数 交换单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21977756/

相关文章:

PHP 动态图像创建不起作用

regex - 如何对所有行进行正则表达式

javascript - 使用 JavaScript 打印金字塔编号

javascript - 提交联系表后通过姓名感谢访客

javascript - Node.js 抛出不能 GET/with express

regex - 偶数个 1 的位串的正则表达式

javascript - 用 Javascript 替换多个字符串

python - 解析包含一系列条目的行,推断数据

javascript - 在 Opera 中禁用元素的双击事件

javascript - 让js闭包立即执行