通过搜索单词字典,我正在尝试查找由子字符串组成的字符串。
首先,找到由字母组成的字符串是直截了当的:
1. [abcdefgjlmnqrsz]+
上方查找包含上述字母的任何字词或短语。我想弄清楚如何找到由子串组成的字符串:
例如dictionary = ["neon","none","dog","bear","bare"]
和正则表达式是:[ar|be|o|ne|n]+
我想找到:neon, bear
但是,正则表达式。 2不正确,因为它找到:neon, noen, bear, bare.
任何帮助表示赞赏
答案 0 :(得分:4)
您正在寻找
\b(?:ar|be|o|ne|n)+\b
请注意,[things]
是一个匹配单个字符的字符类。因此[ar|be|o|ne|n]
并不代表您的想法:它意味着“一个字符属于a,r,|,b,e,|,o,|,n,e,|,n
<强>解释强>
\b
是一个字边界,匹配一边是字母的位置,另一边不是字母(例如空格字符或字符串的开头)(?: ... )
是非捕获组|
是交替(OR)运算符