使用正则表达式而不创建正则表达式对象-JavaScript

Using regex without creating a regex object - JavaScript

本文关键字:正则表达式 对象 -JavaScript 创建      更新时间:2023-09-26

我有以下代码,用于检查URL是否包含特定模式:

var url = "https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=regex%20javascript";
var patt = new RegExp('https?:'/'/[^/]+'.google'.[a-z.]+'/((search[?#])|(webhp[?#])|([?#])).*q=');
var check = patt.test(url);
alert(check);

如果不使用new RegExp(),上述正则表达式将无法工作。如何在不创建正则表达式对象的情况下使用相同的正则表达式。例如,像这样的东西(似乎不起作用):

var url = "https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=regex%20javascript";
var check = ('https?:'/'/[^/]+'.google'.[a-z.]+'/((search[?#])|(webhp[?#])|([?#])).*q=').test(url);
alert(check);

您的意思是像这样的regex文字吗

var check = /https?:'/'/[^/]+'.google'.[a-z.]+'/((search[?#])|(webhp[?#])|([?#])).*q=/.test(url)  

然而,这只是语法上的糖,并不能让您自由创建实际的RegEx对象