Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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,我有一个字符串{{my name}},我想在正则表达式中添加空格 var str = "{{my name}}"; var patt1 = /\{{\w{1,}\}}/gi; var result = str.match(patt1); console.log(result); 但结果并不匹配 任何解决方案。在字符类[]中指定单词character\w和空格字符\s > var patt1 = /\{\{[\w\s]+\}\}/gi; undefined > var re

我有一个字符串
{{my name}}
,我想在正则表达式中添加空格

var str = "{{my name}}";

var patt1 = /\{{\w{1,}\}}/gi; 

var result = str.match(patt1);

console.log(result);
但结果并不匹配


任何解决方案。

在字符类
[]
中指定单词character
\w
和空格字符
\s

> var patt1 = /\{\{[\w\s]+\}\}/gi; 
undefined
> var result = str.match(patt1);
undefined
> console.log(result);
[ '{{my name}}' ]
上述正则表达式与
/\{[\w\s]{1,}\}}/gi

说明:

  • \{
    -匹配文本
    {
    符号

  • \{
    -匹配文本
    {
    符号

  • [\w\s]+
    -单词字符和空格字符在字符类中给定。它匹配一个或多个单词或空格字符

  • \}
    -匹配文本
    }
    符号

  • \}
    -匹配文本
    }
    符号


要匹配此模式,请使用以下简单正则表达式:

{{[^}]+}}
显示模式匹配和不匹配的内容

在JS中:

match = subject.match(/{{[^}]+}}/);
要围绕图案进行替换,请使用以下命令:

result = subject.replace(/{{[^}]+}}/g, "Something$0Something_else");
解释

  • {{
    匹配您的两个大括号
  • [^}]+
    匹配一个或多个不是右大括号的字符
  • }
    匹配两个右大括号
试试这个

^\{\{[a-z]*\s[a-z]*\}\}$
说明:

  • \{-匹配文字{符号

  • \{-匹配文字{符号

  • [a-z]*-将匹配零个或多个字符


  • \s-将精确匹配一个空格

  • \}-匹配文字}符号

  • \}-匹配文字}符号


如果需要强制字符,请使用+而不是*

我还希望字符串包含至少1个
[\w\s]+
的序列,与一个或多个单词字符或空格字符匹配。要在何处添加空格?使用您的模式/{{\w{1,}\\w{1,}}}/gi\s-将精确匹配一个空格嘿,接下来,其中一个答案为您解决了问题,还是问题仍然存在?仅供参考,添加了模式匹配和不匹配的演示。:)