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