JavaScript RegExp:匹配,但不捕获

Ada*_*ook 10 javascript regex

关于SO有一千个正则表达式问题,所以如果已经涵盖了这个问题我会道歉.我先看了.

鉴于以下模式:

(?:/|-)[0-9]{2}$
Run Code Online (Sandbox Code Playgroud)

以下字符串:

str1 = '65/65/65'
str2 = '65/65/6565'
Run Code Online (Sandbox Code Playgroud)

比赛是:

str1 = '/65' // expected '65'
str2 = ''    // as I expected
Run Code Online (Sandbox Code Playgroud)

我的意图是?:匹配,但不包括/-.什么是正确的正则表达式来满足我的期望?

Jon*_*y 5 8

由于Javascript中没有可用的外观,只需将所需的部分包装到捕获组中:

var str =  '65/66/67';

if(res = str.match(/(?:\/|-)([0-9]{2})$/)) {
  console.log(res[1]);
}
Run Code Online (Sandbox Code Playgroud)

小提琴

注意:(?:\/|-)可以用@anubhava评论的字符类 替换[\/-].