正则里的\\s和\s有什么区别?

有时候用\s有时候用\\s,到底有什么区别?

一、两种表达方式表达意义的区别:

1、\s代表正则表达式中的一个空白字符(可能是空格、制表符、其他空白)。

2、\\s代表字符\和字符s,因为\在正则中有特殊意义,所有需要转义,写成了\\ 。

二、表达的作用的区别:

1、\s用于匹配空白字符。

2、\\s用于匹配字符串中的\和s,两个字符。

扩展资料:

一、为什么要用\\s:

1、用\\s是因为所使用的工具\本身就具有转义的功能,比如\b表示退格符,在正则中\b(不在中括号中)表示单词边界,要将字符串\b传给正则就得首先对\转义 ,用\\表示 \, \\b表示\b

2、在这些\本身具有转义作用的工具中,要将字符串\s传给正则用要\\s

二、正则表达式:正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

三、正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

参考资料:

百度百科-正则表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23
\作为转义字符开关,与不同字母匹配的时候起到不同作用。
写成\s,表示\与s相匹配,在第一次引用该段指令时就会生效,起到\s的作用。也就是表示空白符号。
而写成\\s的时候,\会与第二个\相匹配,形成\\。其含义就是单独的一个\。这种情况,有可能是为了输出\s,而不令其转义。更常见的原因是该段字符串会被处理两次,第一次的时候将\\s处理为\s,第二次处理的时候,才执行\s的作用,即空白符号。
第2个回答  推荐于2017-09-21
\s在正则里就表示空白符
用\\s是因为所使用的工具\本身就具有转义的功能,比如\b表示退格符,在正则中\b(不在中括号中)表示单词边界,要将字符串\b传给正则就得首先对\转义 ,用\\表示 \, \\b表示\b
同理在这些\本身具有转义作用的工具中,要将字符串\s传给正则用要\\s追问

那 /(\s|^)Cname/ 和 /(\\s|^)Cname/ 这两个哪个对呢?我想做的是在Cname前不是空格就是没有的效果。

追答

/(\s|^)Cname/ 这个对,这是直接的正则表达式,不需要考虑字符串的转义

本回答被提问者和网友采纳
第3个回答  2019-08-09
字面量 var reg=/\s/ 匹配空格; 构造函数 var reg=new RegExp('\\s') ,匹配空格 因为这里是字符串\\ 表示\
var reg=/\\s/ 则表示匹配'\'+空格

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网