javascript - 更改正则表达式以匹配某些单词而不是所有包含 PRP 的单词

标签 javascript regex

如果单词包含 PRP,则此正则表达式匹配空格之间的所有字符。

如果它们包含 PRP,但如果它们包含 me,我如何让它匹配 whitepsace 之间的所有单词或字符。

因此匹配所有包含 PRP 但不包含 ME 或 me 的单词。

这是匹配包含 PRP 的单词的正则表达式:\S*PRP\S*

最佳答案

您可以为此使用负前瞻:

(?:^|\s)((?!\S*?(?:ME|me))\S*?PRP\S*)

Working Demo

附言:使用 #1 组作为匹配词。

代码:

var re = /(?:^|\s)((?!\S*?(?:ME|me))\S*?PRP\S*)/;    
var s = 'word abcPRP def';

var m = s.match(re);    
if (m) console.log(m[1]); //=> abcPRP

关于javascript - 更改正则表达式以匹配某些单词而不是所有包含 PRP 的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268809/

相关文章:

python - 如何使用正则表达式删除特定空格。

正则表达式变量字母数字匹配

java - 拆分非逗号分隔的字符串

javascript - 创建一个 d.ts 文件到 UnityLoader.js (Unity3D)

javascript - 字符串转 jQuery 函数

Javascript 替换功能不适用于正则表达式

javascript - Angular 2 (4) 从后端重新加载模板

javascript - 在 Jive 中调整 HTML 小部件的大小

regex - 在 R 中拆分以数字结尾的字符串

regex - 如何使用 HTML5 输入验证来验证表单输入