Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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,我试图在字符串中找到一个模式,该模式的值以${开头,以}结尾。在花括号之间会有一个词,但我不知道它是什么词 这就是我所拥有的\$\{[a-zA-Z]\} ${a}有效,但${aa}无效。看起来它只是在寻找一个角色 我不确定我做错了什么,也不知道如何修复它,我希望任何人都能提供帮助。您需要使用*(零或多个)或+(一个或多个)。所以这个[a-zA-Z]应该是[a-zA-Z]+,意思是一个或多个字母。整个正则表达式看起来像: \$\{[a-zA-Z]+\} 您需要使用*(零个或多个)或+(一个或多个

我试图在字符串中找到一个模式,该模式的值以
${
开头,以
}
结尾。在花括号之间会有一个词,但我不知道它是什么词

这就是我所拥有的
\$\{[a-zA-Z]\}

${a}
有效,但
${aa}
无效。看起来它只是在寻找一个角色


我不确定我做错了什么,也不知道如何修复它,我希望任何人都能提供帮助。

您需要使用
*
(零或多个)或
+
(一个或多个)。所以这个
[a-zA-Z]
应该是
[a-zA-Z]+
,意思是一个或多个字母。整个正则表达式看起来像:

\$\{[a-zA-Z]+\}

您需要使用
*
(零个或多个)或
+
(一个或多个)。所以这个
[a-zA-Z]
应该是
[a-zA-Z]+
,意思是一个或多个字母。整个正则表达式看起来像:

\$\{[a-zA-Z]+\}

一个很好的regex参考和测试网站是

看起来您需要添加一个+,它告诉正则表达式查找一个或多个字符


试试看:
\${[a-zA-Z]+}

这是一个很好的正则表达式参考和测试网站

看起来您需要添加一个+,它告诉正则表达式查找一个或多个字符

试试看:
\${[a-zA-Z]+}

你就快到了

您只需使用一个
+
来告诉表达式前面将有一个或多个内容(在本例中为
[a-zA-Z]
),如下所示:

\${[a-zA-Z]+}
你接近了

您只需使用一个
+
来告诉表达式前面将有一个或多个内容(在本例中为
[a-zA-Z]
),如下所示:

\${[a-zA-Z]+}

我想这对你有帮助

var str=“快速的棕色${fox}跳过懒惰的${dog}”;
变量re=/\$\{([a-z]+)\}/gi;
var匹配;
while(match=re.exec(str)){
console.log(匹配[1]);

}
我想这会对你有所帮助

var str=“快速的棕色${fox}跳过懒惰的${dog}”;
变量re=/\$\{([a-z]+)\}/gi;
var匹配;
while(match=re.exec(str)){
console.log(匹配[1]);

}
可能重复的可能重复的可能重复的不适用于大写字母。除此之外,用户似乎只需要正则表达式而不是JS程序。@SpencerWieczorek,我使用了
I
修饰符来执行不区分大小写的匹配。此外,我还演示了javascript程序的用法,以表明
g
修饰符可能也是必要的,否则他可能只会得到一个匹配项。在这种情况下,我认为这个简单的程序很有帮助,因为它提供了完整的功能演示。有了你的回答,他很可能会在很短的时间内进入另一条死胡同。怎么会呢?我的回答是正确的,并且给出了确切的要求,问题表明只有一个单词在
${…}
之间,您提到的嵌套格永远不会出现。你假设OP几乎什么都不知道,这对资本是行不通的。除此之外,用户似乎只需要正则表达式而不是JS程序。@SpencerWieczorek,我使用了
I
修饰符来执行不区分大小写的匹配。此外,我还演示了javascript程序的用法,以表明
g
修饰符可能也是必要的,否则他可能只会得到一个匹配项。在这种情况下,我认为这个简单的程序很有帮助,因为它提供了完整的功能演示。有了你的回答,他很可能会在很短的时间内进入另一条死胡同。怎么会呢?我的回答是正确的,并且给出了确切的要求,问题表明只有一个单词在
${…}
之间,您提到的嵌套格永远不会出现。您假设OP几乎什么都不知道。@MaxZoom,因为您使用的是连字符和数字(数字)。指定的范围是
a
z
a
z
。这些范围中没有连字符或数字。可以使用
0-9
添加数字。可以添加连字符。整个事情可能看起来像这样
[a-zA-Z0-9\-]
@MaxZoom,因为您使用的是连字符和数字(数字)。指定的范围是
a
z
a
z
。这些范围中没有连字符或数字。可以使用
0-9
添加数字。可以添加连字符。整个事情看起来可能是这样的
[a-zA-Z0-9\-]
。为什么要投反对票?这个答案是正确的,是第一个答案。另外两个答案基本上是这一个的复制品,但这一个被否决了?为什么被否决?这个答案是正确的,是第一个答案。另外两个答案基本上是这一个的复制品,但这一个被否决了?