在变量中存储正则表达式的Javascript
我用javascript编写了这行代码在变量中存储正则表达式的Javascript,javascript,regex,Javascript,Regex,我用javascript编写了这行代码 var re = (http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])? 通常我用/字符来封装regex语法,但由于它们在regex中找到,所以封装会出错。是否有其他方法可以将其存储在变量中 当前看起来像转义字符的斜杠是正则表达式的一部分,因为我在c#中也使用了它,并且工作得非常完美您可以在正则表达式中转义斜
var re = (http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
通常我用/
字符来封装regex语法,但由于它们在regex中找到,所以封装会出错。是否有其他方法可以将其存储在变量中
当前看起来像转义字符的斜杠是正则表达式的一部分,因为我在c#中也使用了它,并且工作得非常完美您可以在正则表达式中转义斜杠:
var re = new RegExp("^your regexp.*$", "gi");
/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/
(您已经在前两个斜杠中这样做了…一种方法是将正则表达式中发生的
/
作为\/
,像您已经部分地做的那样:
var re = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/;
是怎么回事&代码>?这对character类来说不太合适。此外,无需逃避+或。然后使用:yourString.match(re)
。