我正在尝试匹配整个单词,空格之间的字符,如果它包含字母 PRP 在这种情况下并且在 JavaScript 中按该顺序。
我想要做的是选择所有包含 PRP 的单词并将其替换为 (空格)。
这是一个我可以想出的正则表达式,它可以匹配任何带有字母 p 或 r 或 p 的内容:\b(?=\w*[PRP])\w+\b
。
一旦我知道了正则表达式,我的计划就是执行 str.replace(matchAllWordsWithregex, ' ');
那么什么是正则表达式以及如何在替换函数中使用此正则表达式说出所有单词?
最佳答案
如果您希望文字文本 PRP
匹配,则需要删除 PRP
周围的方括号(因为使用它们,您将创建一个匹配的 character class P
或 R
):
\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/