regex - 免费代码营中级算法脚本:Pig Latin Regex 解决方案
问题描述
我为猪拉丁语转换器找到了这个非常优雅的解决方案,但我似乎无法弄清楚它的正则表达式。替换上的“$&way”或“$2$1ay”。有人可以解释一下吗?
function translatePigLatin(str) {
return str
.replace(/^[aeiou]\w*/, "$&way")
.replace(/(^[^aeiou]+)(\w*)/, "$2$1ay");
}
// test here
translatePigLatin("consonant");
解决方案
似乎是“ freeCodeCamp 挑战指南:Pig Latin ”中的“解决方案 4 ”。该页面准确地解释了它的作用。
我想问题是关于$&
, $2
, ...的含义
$&
是正则表达式匹配的整个字符串$1
是第一对括号中的部分$2
第二个括号- 等等
推荐阅读
- javascript - 用鼠标移动动态创建的 SVG
- python - 用于组织的 Python pip 包
- jquery - 使用 javascript、jquery、bootstrap 在网页布局(手机/笔记本电脑)之间切换
- mysql - 使用 Order By 时 SQL 语句加载速度很慢
- javascript - 如何检查字符串中的随机单词成为对象中的当前单词?
- c# - 拒绝访问文件
- asynchronous - 应用启动时如何直接获取网络数据?
- mysql - YII 1.1 - 查询生成器:如何以 FETCH_KEY_PAIR 格式获取多个 IN 运算符记录
- java - 选择稀有物品 - Java
- vue.js - 使用 prerender-spa-plugin 时如何加载 Vuetify?