考虑到以下指南 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
为什么这不匹配以 foo 或 foobar 结尾的单词?
/[0-9a-zA-Z]+foo(?:bar)*\b/i
Run Code Online (Sandbox Code Playgroud)
它应该是 4chan.orgs 技术板的 wordfilter 的一部分,由一个名为 4chanX 的插件应用。我几乎逐字粘贴了代码以过滤包含单词的注释。
没有必要*,一个?会为你做的。
/[0-9a-zA-Z]+foo(?:bar)?\b/i
Run Code Online (Sandbox Code Playgroud)
此外,如果您试图在字符串中查找该模式的所有单词,则应该添加g修饰符(如果它可用于您的正则表达式引擎):
/[0-9a-zA-Z]+foo(?:bar)?\b/ig
Run Code Online (Sandbox Code Playgroud)