我需要javascript代码中的regexp帮助

时间:2016-01-24 06:52:19

标签: javascript regex

var str = "^" + "/post/\d+" + "$";
var regex = new RegExp(str);
var flag = regex.test("/post/3333");

console.log(flag) // -> false
console.log(regex) // -> /^\/post\/d+$/

我期待结果变为真,但结果是错误的。

我认为问题是在创建RegExp实例时在“/”之前自动添加“\”。

为了让它成功,我该怎么写?

2 个答案:

答案 0 :(得分:1)

您不需要var regex = /post\/\d+$/; var flag = regex.test("/post/3333"); 构造函数和字符串 这里的例子

^

我删除了-Home -Transaction -Cash -Bank -Summary 标记,因为正则表达式无法使用此格式的输入“website / post / 3333”

答案 1 :(得分:0)

这是一个更具体的正则表达式,以匹配/post/####的格式:

var regex = /\/post\/[0-9]+$/;
var flag = regex.test("/post/3333");

这将测试字符串/post/后跟一个或多个数字,发生在行尾。

enter image description here

同样地:

var regex = /\/post\/[0-9]{4}$/;
var flag = regex.test("/post/3333");

将测试字符串/post/后跟4位数字,发生在行尾。

enter image description here