无法弄清楚如何确保最后的模式

时间:2013-11-01 18:57:31

标签: javascript regex xregexp

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

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

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

如何查看行尾?

3 个答案:

答案 0 :(得分:1)

如果您想在结尾处使用一个或两个数字 ,请将$放在正则表达式的末尾。此外,在JavaScript中,正则表达式文字使用/.../编写,而不是"..."

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

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

您可以使用$锚点

匹配字符串结尾
/(\d{1,2})$/

参考文献: