elv*_* qi 2 javascript google-chrome
在Chrome 52中测试了代码
var a = "$$";
var b = "{data}";
var result = b.replace("{data}", a);
console.log(result);
Run Code Online (Sandbox Code Playgroud)
结果应为" $$",但console.log显示" $".
为什么有一个$而不是两个$$?
因为$$是replace替换字符串中的特殊标记.在replace替换字符串中,$是一个转义字符(在MDN上更多).要实际$$输入字符串,请使用$$$$.
这$是可以使用的一系列序列:
$$- 插入一个$.$& - 插入匹配的子字符串.$` - 插入匹配子字符串之前的字符串部分.$' - 插入匹配子字符串后面的字符串部分.$n 其中n是小于100的非负整数,插入第n个带括号的子匹配字符串,前提是第一个参数是RegExp对象.
以下是使用所有这些示例的示例:
var str = "This is a test.";
console.log(str.replace(
/\b(is) a\b/,
"[[\n" +
"Dollar sign: $$\n" +
"Matched: $&\n" +
"Before: $`\n" +
"After: $'\n" +
"Captured: $1\n" +
"]]"
));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |