Discuss / JavaScript / "."还是"\."

"."还是"\."

Topic source

谢钟豪

#1 Created at ... [Delete] [Delete and Lock User]

第一题: var re = /^[\w.]+@\w+.\w+$/; 第二题: var re = /^<([\w\s]+)>\s*(\w+@\w+.\w+)$/;

谢谢@1887托斯卡纳 的解释和补充 正则表达式中需要转义的特殊字符(15个): ^ $ | ? . * + { } [ ] ( ) / \

但我还是不理解代码中的 . 到底什么时候需要转义什么时候不需要

ps:我把评论贴近评论框预览时,发现所有.前面的"\"被屏蔽了,坑爹啊- -!

5080sy

#2 Created at ... [Delete] [Delete and Lock User]

. 在你需要匹配 标点. 的时候需要转义. 原因是元字符 . 在正则中表示匹配匹配除换行符 \n 之外的任何单个字符. 所以如果我们不希望它按默认的行为匹配, 就需要对其转义

> var v = /./    // .默认匹配任意一个字符
> v.test('s')
true
> var v = /\./   // 转义, 仅匹配标点.
> v.test('s')
false
> v.test('.')
true

  • 1

Reply