javascript - 为什么正则表达式中有两个 '\'?

标签 javascript regex

function trim(str) {

    var trimer = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+\x24)", "g");

    return String(str).replace(trimer, "");

}

为什么's'和't'前有两个'\'?

这个“[\s\t\xa0\u3000]”是什么意思?

最佳答案

您正在使用 literal string .

在文字字符串中,\ 字符用于转义一些其他字符,例如 \n(新行)或 \"(一个双引号),并且必须将其自身转义为 \\。因此,当您希望您的字符串具有 \s 时,您必须编写 \\s 在你的字符串文字中。

谢天谢地,JavaScript 提供了更好的解决方案,Regular expression literals :

var trimer = /(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g

关于javascript - 为什么正则表达式中有两个 '\'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843265/

相关文章:

javascript - 使用 Javascript not 运算符时出现奇怪的结果

regex - 有没有办法使用正匹配正则表达式运算符对字符串进行负匹配?

regex - 在转换为数字之前使用正则表达式过滤字符串

regex - 脚本 : How to capitalize a specific character of matched text in a substitution?

javascript - postman 从 JSON 中获取值,其中使用 javascript 等于数组中的值

javascript - 数量价格折扣 html/java/php

javascript - 传入一个函数,进入一个函数,稍后用参数执行?可以作为单个参数吗?

javascript - 在自定义日历中自动突出显示 "rest of day"

PHP 带标点符号

java - 在java中替换重复出现的锚定正则表达式组