为了账号安全,请及时绑定邮箱和手机立即绑定

js正则/\./ 和 /[.]/有什么区别?

js正则/\./ 和 /[.]/有什么区别?

慕桂英4014372 2018-09-04 11:41:23
这两个正则都是只能匹配‘.’号吧?
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

/\./ 和 /[.]/ 只能匹配`'.'。
之前我也很有疑惑,但是没有一个绝对规律的答案。

\

  引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。如.用来匹配点字符,而不是任何字符的通配符。

    [ ] 
  [c1-c2]
  [^c1-c2]

  字符组,匹配括号中的任何一个字符,并不是要全部匹配。如/x[zav]e/匹配xze、xae和xve,但是不匹配xxe。如/[0-9]/可以匹配任何数字字符;如/[A-Za-z]/可以匹配任何大小写字母。如正则表达式[^269A-Z] 将匹配除了2、6、9和所有大写字母之外的任何字符。

之前也试过一些符号,对于这两个操作符,特殊符号没有绝对规律,倒是特殊字母匹配符还是有规律的,见下。

'love.'.replace(/./, '');  //"ove."  通配

'love.'.replace(/\./, '');  //"love"  点

'love.'.replace(/[.]/, ''); //"love"  点

'love.'.replace(/[\.]/, ''); //"love"  点


但是:

'lo v^se.'.replace(/\^/, ''); //"lo vse."  匹配^

'lo v^se.'.replace(/[^]/, '');  //"o v^se." 匹配开始去了,并没有匹配^

'lo v^se.'.replace(/[\^]/, ''); //"lo vse." 要加一个这样才匹配^



'lo vse.'.replace(/\s/, '');  //"lovse." 匹配空格

'lo vse.'.replace(/[s]/, ''); //"lo ve."  匹配字母

'lo vse.'.replace(/[\s]/, '');  //"lovse."  要加一个\才匹配空格


'    lovte.'.replace(/\t/, '');  //"lovte. 匹配制表符

'    lovte.'.replace(/[t]/, ''); //"    love."  匹配字母

'    lovte.'.replace(/[\t]/, '');  //"lovte."  要加一个\才匹配制表符

可以试试更多...


查看完整回答
反对 回复 2018-10-16
  • 1 回答
  • 0 关注
  • 741 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信