我无法弄清楚如何确保只有 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}$/";