如何编写与此匹配的正则表达式
123/456
123/456/?
Run Code Online (Sandbox Code Playgroud)
但不是这个
123/456/
Run Code Online (Sandbox Code Playgroud)
我想在第二个/必须跟着一个?
例如,我希望它与此匹配
'123/456'.match(X) // return ['123/456']
'123/456/?'.match(X) // return ['123/456/?']
'123/456/'.match(X) // return null
Run Code Online (Sandbox Code Playgroud)
更新
我错过了一个重要的事情.它不能以'?'结尾,像'123/456 /?hi'这样的字符串也应匹配
您可以尝试以下正则表达式: \d{3}/\d{3}(/\?.*)?
会匹配
//?any_text(例如/?hi)(可选)本示例使用诸如^和的正则表达式锚$,但是如果您仅尝试与目标字符串匹配,则不需要它们。
var result = '123/456/?hi'.match(/\d{3}\/\d{3}(\/\?.*)?/);
if (result) {
document.write(result[0]);
}
else {
document.write('no match');
}
Run Code Online (Sandbox Code Playgroud)