javascript - 正则表达式匹配包含此顺序字母的整个单词(空格之间的字符)

标签 javascript regex

我正在尝试匹配整个单词,空格之间的字符,如果它包含字母 PRP 在这种情况下并且在 JavaScript 中按该顺序。

我想要做的是选择所有包含 PRP 的单词并将其替换为 (空格)。

这是一个我可以想出的正则表达式,它可以匹配任何带有字母 p 或 r 或 p 的内容:\b(?=\w*[PRP])\w+\b

一旦我知道了正则表达式,我的计划就是执行 str.replace(matchAllWordsWithregex, ' ');

那么什么是正则表达式以及如何在替换函数中使用此正则表达式说出所有单词?

最佳答案

如果您希望文字文本 PRP 匹配,则需要删除 PRP 周围的方括号(因为使用它们,您将创建一个匹配的 character class PR):

\b(?=\w*PRP)\w+\b

但这里实际上不需要前瞻断言(也不需要单词边界):

\w*PRP\w*

效果很好(对于字母数字“单词”)。要替换字符串 subject 中的所有匹配项,您可以使用

result = subject.replace(/\w*PRP\w*/g, " ");

如果您将单词定义为“除空格之外的任何内容”,请使用

result = subject.replace(/\S*PRP\S*/g, " ");

关于javascript - 正则表达式匹配包含此顺序字母的整个单词(空格之间的字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234304/

相关文章:

javascript - Chrome 扩展 - Blob 从背景到上下文脚本

java - 在侧大括号中获取字符串,该字符串在大括号中也有更多值

ruby - 什么时候使用 Regexp.new()?

jquery - 正则表达式匹配在 jquery-highlighttextarea 库中不起作用

java - 如何获取与这些字符串匹配的正则表达式

javascript - 从 Alfresco Share 页面调用外部休息服务

javascript - node.js:使用等待消耗 promise

javascript - 运行观察者模式示例时遇到问题

arrays - 使用正则表达式拆分以特定字符开头和结尾的组

javascript - 如何在 Promise 上注册失败的 Mocha 测试