0

我无法弄清楚如何确保只有 content1 匹配而不是 content2。

var re  =  "//(\d{1,2})/";

var content1 = "/digital-cameras/point-shoot/10";
var content2 = "/digital-cameras/10-point-shoot";

如何检查行尾?

4

3 回答 3

1

如果您希望在末尾有一位或两位数字,请放在$正则表达式的末尾。此外,在 JavaScript 中,正则表达式文字是用/.../, not编写的"..."

var re  =  /(\d{1,2})$/;
// $ here -----------^

在那里,/两端的 at 不是表达式的一部分,它标记了表达式的开始和结束(对于字符串, like"和do)。'

$被称为“锚”,意思是“输入的结束”。(还有一个,^,意思是“输入的开始”。)

于 2013-11-01T18:58:43.440 回答
1

转义正斜杠并使用行尾锚$来确保数字仅在行尾匹配:

var re  =  "/\/\d{1,2}$/";
于 2013-11-01T18:58:50.750 回答
1

$您可以使用锚匹配字符串的结尾:

/(\d{1,2})$/

参考:

于 2013-11-01T18:59:00.010 回答