2010-10-07 3 views
1

Я изучаю регулярное выражение (http://www.regular-expressions.info/) и пытаюсь выяснить, как совместить часть следующей строки, а именно: слово, содержащее q, за которым не следует u.Regex получить части строки, которые не соответствуют шаблону

Я получил это далеко, но не могу понять, как правильно его отменить. Это регулярное выражение успешно находит слово. Теперь мне просто нужно выяснить, как заставить его найти остальную часть строки, кроме слова. предложения?

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

Разве это не просто называется _'getting новой строки с совпадающим словом заменяется nothing'_? То есть нормальная замена. Если вы скажете нам, на каком языке вы пытаетесь это сделать, кто-то может предоставить решение, если оно чисто академическое: сопоставление чего-либо, что не может быть шаблоном, не реально с регулярными выражениями, хотя вы можете работать самостоятельно, чтобы беспокоиться (более или менее) рабочие взгляды и позади. – Wrikken

ответ

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);  
Смежные вопросы