我无法弄清楚如何确保只有 content1 匹配而不是 content2。
var re = "//(\d{1,2})/";
var content1 = "/digital-cameras/point-shoot/10";
var content2 = "/digital-cameras/10-point-shoot";
如何检查行尾?
我无法弄清楚如何确保只有 content1 匹配而不是 content2。
var re = "//(\d{1,2})/";
var content1 = "/digital-cameras/point-shoot/10";
var content2 = "/digital-cameras/10-point-shoot";
如何检查行尾?
如果您希望在末尾有一位或两位数字,请放在$正则表达式的末尾。此外,在 JavaScript 中,正则表达式文字是用/.../, not编写的"...":
var re = /(\d{1,2})$/;
// $ here -----------^
在那里,/两端的 at 不是表达式的一部分,它标记了表达式的开始和结束(对于字符串, like"和do)。'
$被称为“锚”,意思是“输入的结束”。(还有一个,^,意思是“输入的开始”。)
转义正斜杠并使用行尾锚$来确保数字仅在行尾匹配:
var re = "/\/\d{1,2}$/";