Regex 正则表达式获取字符串中与模式不匹配的部分

Regex 正则表达式获取字符串中与模式不匹配的部分,regex,string,Regex,String,我正在学习regex(),并试图找出如何匹配以下字符串中不匹配的部分:一个包含q的单词,后面不跟u 我已经走了这么远,但不知道如何正确地扭转它。这个正则表达式成功地找到了单词。现在,我只需要弄清楚如何让它找到字符串中除单词以外的其余部分。建议 (\w*(q(?!u))\w*) JAZzY 23 JACKY 21 JIFFY 21 JUNKY 21 QUAKY 21 ZAPPY 21 ZAXES 21 ZINKY 21 ZIPPY 21 FURZY 20 HAFIZ 20 QUACK 20 QU

我正在学习regex(),并试图找出如何匹配以下字符串中不匹配的部分:一个包含
q
的单词,后面不跟
u

我已经走了这么远,但不知道如何正确地扭转它。这个正则表达式成功地找到了单词。现在,我只需要弄清楚如何让它找到字符串中除单词以外的其余部分。建议

(\w*(q(?!u))\w*)

JAZzY 23
JACKY 21 JIFFY 21 JUNKY 21 QUAKY 21 ZAPPY 21 ZAXES 21 ZINKY 21 ZIPPY 21
FURZY 20 HAFIZ 20 QUACK 20 QUAFF 20 QUICK 20 QUIFF 20 WOOZY 20
BOOZY 19 COZEY 19 CRAZY 19 ENZYM 19 FUZzY 19 HAMZA 19 JAMMY 19 JEMMY 19 JERKY 19 JIMMY 19 JIMPY 19 JOKEY 19 JUMPY 19 KUDZU 19 KYLIX 19 QOPHS 19 WHIZz 19 ZILCH 19 ZINCY 19 ZYMES 19
您需要指定一种语言(JavaScript、PHP等)

在JS中有一种方法可以做到这一点: ()

您需要指定一种语言(JavaScript、PHP等)

在JS中有一种方法可以做到这一点: ()

这不就是所谓的“获取一个新字符串,并将匹配的单词替换为零”吗?即正常更换。如果您告诉我们您尝试使用哪种语言,某人可能会提供一个解决方案,如果它纯粹是学术性的:匹配任何非模式的东西对于正则表达式来说都是不可行的,尽管您可能会遇到很多麻烦(或多或少)有时,工作看起来是超前和滞后的。这不就是所谓的“获取一个匹配单词的新字符串,并将其替换为零”吗?即正常更换。如果您告诉我们您尝试使用哪种语言,某人可能会提供一个解决方案,如果它纯粹是学术性的:匹配任何非模式的东西对于正则表达式来说都是不可行的,尽管有时您可能会遇到(或多或少)工作lookaheads&behinds的麻烦。
var Str = 'JAZzY 23 '
        + 'JACKY 21 JIFFY 21 JUNKY 21 QUAKY 21 ZAPPY 21 ZAXES 21 ZINKY 21 '
        + 'ZIPPY 21 FURZY 20 HAFIZ 20 QUACK 20 QUAFF 20 QUICK 20 QUIFF 20 '
        + 'WOOZY 20 BOOZY 19 COZEY 19 CRAZY 19 ENZYM 19 FUZzY 19 HAMZA 19 '
        + 'JAMMY 19 JEMMY 19 JERKY 19 JIMMY 19 JIMPY 19 JOKEY 19 JUMPY 19 '
        + 'KUDZU 19 KYLIX 19 QOPHS 19 WHIZz 19 ZILCH 19 ZINCY 19 ZYMES 19 '
        + 'risque 69 risqay 86 Qu 19 Qa 33'
        ;

var Filtered = Str.replace (/\b\w*q(?!u)\w*\b/ig, "");
alert (Filtered);