小编Bo *_*son的帖子

如何修改JavaScript RegExp模式

我想RegExp通过修改另一个RegExp对象的模式来创建一个新对象.

输出RegExp.prototype.toString()包括前导和尾部斜杠.

    // This is nice and clean, but produces incorrect output.
    function addBarWrong(re) {
            return new RegExp(re+"bar");
    }

    addBarWrong(new RegExp("foo")); // -> /\/foo\/bar/
Run Code Online (Sandbox Code Playgroud)

我天真的做法非常优雅.

    // This is unpleasant to look at, but produces correct output.
    function addBarUgly(re) {
            var reString = re.toString();

            reString = reString.substr(1, reString.length - 2);

            return new RegExp(reString+"bar");
    }

    addBarUgly(new RegExp("foo")); // -> /foobar/
Run Code Online (Sandbox Code Playgroud)

当然有更好的方法.这里干净的解决方案是什么?

javascript regex

1
推荐指数
1
解决办法
115
查看次数

标签 统计

javascript ×1

regex ×1