正则表达式匹配多个字符串

Jon*_*ury 14 c# regex

我需要创建一个可以匹配多个字符串的正则表达式.例如,我想找到"好"或"好"的所有实例.我找到了一些例子,但我想出来的似乎并不奏效:

\b(good|great)\w*\b
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?

编辑:我应该注意,我不想只匹配整个单词.例如,我可能想要匹配"ood"或"reat"(部分单词).

编辑2:这是一些示例文本:"这是一个非常棒的故事." 我可能想要匹配"this"或"really",或者我可能想匹配"eall"或"reat".

ojr*_*rac 22

如果你能保证有你的话清单中没有保留的正则表达式的字符(或者,如果你逃避他们),你可以只使用这个代码,以a big word list@"(a|big|word|list)".|操作员在使用它时没有任何问题,只要它们()包围它.这听起来像\w*\b模式是干扰你的比赛.

String[] pattern_list = whatever;
String regex = String.Format("({0})", String.Join("|", pattern_list));
Run Code Online (Sandbox Code Playgroud)