Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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,我必须编写一个正则表达式,其中包含单词“wind”、“temp”或“press”,后跟一个非数字 到目前为止,我已经: var regex = /wind|temp|press[^0-9]{0,}/; 这不起作用,因为[^0-9]{0,}带有“press”。我如何将它们分开,以便所有的单词后面都跟一个非数字?只需使用一个(非捕获)组: 只需使用一个(非捕获)组: 您所需要的只是一个无捕获组,将这些单词与模式的其余部分分开。使用此模式: /(?:wind|temp|press)\D*/ 顺便说

我必须编写一个正则表达式,其中包含单词“wind”、“temp”或“press”,后跟一个非数字

到目前为止,我已经:

var regex = /wind|temp|press[^0-9]{0,}/;
这不起作用,因为
[^0-9]{0,}
带有“press”。我如何将它们分开,以便所有的单词后面都跟一个非数字?

只需使用一个(非捕获)组:

只需使用一个(非捕获)组:


您所需要的只是一个无捕获组,将这些单词与模式的其余部分分开。使用此模式:

/(?:wind|temp|press)\D*/
顺便说一下,
{0,}
与本例中的
*
相同。另外,如果必须使用非数字字符,则可能需要使用
+
。(我的意思是,如果其中一个单词必须后跟至少一个或多个非数字字符,则使用
+


您所需要的只是一个无捕获组,将这些单词与模式的其余部分分开。使用此模式:

/(?:wind|temp|press)\D*/
顺便说一下,
{0,}
与本例中的
*
相同。另外,如果必须使用非数字字符,则可能需要使用
+
。(我的意思是,如果其中一个单词必须后跟至少一个或多个非数字字符,则使用
+


为了试验正则表达式,您可以使用仅供参考的方法,正则表达式有
*
,您可以使用它代替
{0,}
\D
来匹配非数字。@4请小心用
\D
替换
[^0-9]
,因为某些正则表达式的风格具有不同的语义,由于
\D
也与JS中的
٢
@Xufox等阿拉伯数字不匹配,
\D
[0-9]
相同,
\D
[^0-9]
@4卡斯特尔我知道。我说过“一些正则表达式的风格有不同的语义”。要使用正则表达式进行实验,您可以使用仅供参考的
*
,您可以使用它来代替
{0,}
\D
来匹配非数字。@4请小心用
\D
替换
[^0-9]
,由于一些正则表达式的风格对它们有不同的语义,因为
\D
也与JS中的
٢
@Xufox这样的阿拉伯数字不匹配,
\D
[0-9]
相同,
\D
[^0-9]
@4我知道的castle。我说“一些regex风格有不同的语义”。