Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式使用自定义函数扩展“/pattern/”_Javascript_Regex - Fatal编程技术网

JavaScript正则表达式使用自定义函数扩展“/pattern/”

JavaScript正则表达式使用自定义函数扩展“/pattern/”,javascript,regex,Javascript,Regex,我知道我能做到 RegExp.prototype.xtend = function(){ console.log(123) } y = new RegExp(/pattern/) y.xtend() 我想以这种格式扩展regex模式:/pattern/,这样我就可以 /pattern/.xtend() 编辑:这是一个语法问题 原来是一个缺少的分号。我需要在regex模式前加一个分号,否则会导致语法错误 谢谢你的评论。现在效果很好。结果是它缺少了一个分号。我需要在regex模式前加一个分号,否

我知道我能做到

RegExp.prototype.xtend = function(){ console.log(123) }
y = new RegExp(/pattern/)
y.xtend()
我想以这种格式扩展regex模式:/pattern/,这样我就可以

/pattern/.xtend()
编辑:这是一个语法问题


原来是一个缺少的分号。我需要在regex模式前加一个分号,否则会导致语法错误


谢谢你的评论。现在效果很好。

结果是它缺少了一个分号。我需要在regex模式前加一个分号,否则会导致语法错误

我在Firebug控制台中运行这个,它会自动返回最后一行的值。。。但是因为第三行后面没有分号,第四行以regex开头,所以它得到了一个错误

RegExp.prototype.xtend = function(){ console.log(123) }
y = new RegExp(/pattern/)
y.xtend()
/pattern/.xtend()
添加分号解决了这个问题

RegExp.prototype.xtend = function(){ console.log(123) }
y = new RegExp(/pattern/)
y.xtend(); // <~~ this semi-colon fixes the issue
/pattern/.xtend()

谢谢你的评论。现在效果很好。

有什么问题吗?这对我来说在Chrome和FF11中是有效的。你确实需要在原型中定义xtend,就像在顶部一样,但它可以被称为/pattern/。xtend在FF11中工作得非常好。/asd/实际上只是新RegExp'asd'的一个快捷方式,所以没有什么真正的区别。请发布一个答案并接受它,这样它就不会吸引尚未回答的观点。或者,如果其他人在评论中提供了帮助,比如@Michael post one,请接受它。