可能重复:
如何将连字符与正则表达式匹配?
连字符是正则表达式中的一个特殊字符,例如,要选择范围,我可以执行以下操作:
[0-9A-F]
Run Code Online (Sandbox Code Playgroud)
但是在方括号之外它只是一个普通的角色吗?我一对夫妇网上正则表达式测试仪进行了测试,连字符似乎充当方括号外的普通字符(甚至内方括号的,如果不是两个之间的字符 - 例如,[-g]似乎匹配 - 或g)是否逃脱.我找不到答案,但我想知道是否传统的逃避连字符.
谢谢!
我试图-在正则表达式中使用反斜杠来理解短划线字符需要逃脱?
考虑一下:
var url = '/user/1234-username';
var pattern = /\/(\d+)\-/;
var match = pattern.exec(url);
var id = match[1]; // 1234
Run Code Online (Sandbox Code Playgroud)
正如您在上面的正则表达式中看到的那样,我正在尝试从url中提取id的数量.我也-使用反斜杠在我的正则表达式中逃脱了角色\.但是当我删除那个反斜杠时,仍然很好.... 换句话说,这两个都很好:
现在我想知道,哪一个是正确的(标准)?我需要在正则表达式中逃脱破折号吗?