Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 如何在正则表达式中放置换行符以使其更具可读性?_Javascript_Regex - Fatal编程技术网

Javascript 如何在正则表达式中放置换行符以使其更具可读性?

Javascript 如何在正则表达式中放置换行符以使其更具可读性?,javascript,regex,Javascript,Regex,我有一封很长的电子邮件,与JavasScript中的正则表达式相匹配,我想在不改变正则表达式功能的情况下分成多行。我知道一些正则表达式引擎提供了一种插入换行符的方法以提高可读性,在JS中有没有这样做的方法?没有内置的方法来完成这样的事情,但自己完成并不难。您可以将模板文字与String.raw一起使用,这将允许您在正则表达式字符串中使用换行符,而不必使用两次转义反斜杠,然后您可以在将其传递给new RegExp之前用空字符串替换所有换行符: const patternStr=String.ra

我有一封很长的电子邮件,与JavasScript中的正则表达式相匹配,我想在不改变正则表达式功能的情况下分成多行。我知道一些正则表达式引擎提供了一种插入换行符的方法以提高可读性,在JS中有没有这样做的方法?

没有内置的方法来完成这样的事情,但自己完成并不难。您可以将模板文字与
String.raw
一起使用,这将允许您在正则表达式字符串中使用换行符,而不必使用两次转义反斜杠,然后您可以在将其传递给
new RegExp
之前用空字符串替换所有换行符:

const patternStr=String.raw`^
[fg]oo
=
\战争`;
constpattern=newregexp(patternStr.replace(/\n/g');
console.log(pattern.test('foo=bar');
console.log(pattern.test('goo=bar');

console.log(pattern.test('hoo=bar')