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

时间:2010-10-07 22:45:19

标签: regex string

我正在学习正则表达式(http://www.regular-expressions.info/),并尝试弄清楚如何匹配以下字符串中不包含的部分:包含q的单词后面没有u 1}}。

我已经走到了这一步,但无法弄清楚如何正确地扭转它。这个正则表达式成功找到了这个词。现在,我只需要弄清楚如何让它找到除了单词之外的其余字符串。建议?

(\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

1 个答案:

答案 0 :(得分:1)

您需要指定语言(JavaScript,PHP等)。

这是JS中的一种方法: (See it in action at jsfiddle。)

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);