0

我有一个像这样的正则表达式:

string.match(/((?:website.com\/video\/)([\d]+))/);

当字符串应该匹配时,一切都很好,但是即使字符串是“facebook.com”,它总是返回一些东西,我仍然返回“facebook.com”,我怎样才能让它返回 null?

4

2 回答 2

1

这应该可以正常工作,但字符串是不可变的,所以我猜你没有返回结果,只是期望原始字符串发生变化:

string = string.match(/((?:website.com\/video\/)([\d]+))/); 

null如果不匹配将返回。

小提琴

于 2013-09-07T20:00:31.490 回答
0

可能晚了,但这是我的 50c

(function ($) {
    $(document).ready(function () {
        // var string = 'website.com/video/1'; // uncomment to test
        var string = 'facebook.com';
        if (string.match(/((?:website.com\/video\/)([\d]+))/)) {
            $("p").html(string);
        } else {
            $("p").html("No match");
        }
    });
})(jQuery);

小提琴测试

于 2013-09-07T20:10:47.463 回答