Javascript 匹配由给定集合中的子字符串组成的字符串
通过搜索单词词典,我试图找到由子字符串组成的字符串 首先,查找由字母组成的字符串很简单:Javascript 匹配由给定集合中的子字符串组成的字符串,javascript,regex,string,substring,Javascript,Regex,String,Substring,通过搜索单词词典,我试图找到由子字符串组成的字符串 首先,查找由字母组成的字符串很简单: 1. [abcdefgjlmnqrsz]+ 上面查找包含上述字母的任何单词或短语。我试图找出如何查找由子字符串组成的字符串: 例如dictionary=[“霓虹灯”、“无”、“狗”、“熊”、“裸”] 正则表达式是:[ar | be | o | ne | n]+ 我想找到:neon,bear 但是,regex ex.2是不正确的,因为它发现:neon、noen、bear、bare。 任何字符类都匹配一个字符
1. <代码>[abcdefgjlmnqrsz]+ 上面查找包含上述字母的任何单词或短语。我试图找出如何查找由子字符串组成的字符串: 例如
dictionary=[“霓虹灯”、“无”、“狗”、“熊”、“裸”]
正则表达式是:[ar | be | o | ne | n]+
我想找到:neon,bear
但是,regex ex.2是不正确的,因为它发现:neon、noen、bear、bare。
任何字符类都匹配一个字符
你在找什么
\b(?:ar|be|o|ne|n)+\b
请注意,[things]
是一个匹配单个字符的字符类。因此,[ar | be | o | ne | n]
的意思不是你所想的:它的意思是“一个字符是a,r,|,b,e,|,o,|,n,e,|,n中的一个
解释
是一个单词边界,它匹配一个位置,其中一边是字母,另一边不是字母(例如空格字符或字符串的开头)\b
是非捕获组(?:…)
是交替(或)运算符|
\b(?:ar|be|o|ne|n)+\b
请注意,[things]
是一个匹配单个字符的字符类。因此,[ar|be | o | ne | n]
并不是您所想的那样:它意味着“一个字符是a,r,|,b,e,|,o,|,n,e,|,n中的一个”
解释
是一个单词边界,它匹配一个位置,其中一边是字母,另一边不是字母(例如空格字符或字符串的开头)\b
是非捕获组(?:…)
是交替(或)运算符|