2015-07-08 4 views
2

Я хотел бы исключить определенные слова, используя регулярное выражение.Регулярное выражение для соответствия тексту, который «не содержит» слово?

Ввод текста:

aaa1234 cc bbb1234 c1234 cc dd aacc cccc ccadf cc 

Вывод текста:

aaa1234 bbb1234 c1234 dd aacc cccc ccadf 

исключить слово: cc

Я использовал (^|\s)[^(cc)]+(\s|$)

Как сделать регулярное выражение работы?

+0

Используя [^ (куб.см)] так же, как [^ c) (] Я изменил положение, чтобы было ясно, –

+0

Возможный дубликат: http://stackoverflow.com/questions/2078915/a-regular-expression-to-exclude-a-word-string – menakas

+0

Легче просто совместить то, что вы хотите исключить, и заменить его пустой строкой , –

ответ

0

Вы можете использовать что-то вроде этого (^|\s+)cc(\s+|$) фильтровать слово cc, а затем заменить его пустой строкой

var word='aaa1234 cc bbb1234 c1234 cc dd aacc cccc ccadf cc'; 
 

 
console.log(word.replace(/(^|\s+)cc(\s+|$)/g,' ').trim());

+0

Хм, хорошо, я вижу это сейчас. Он не дает требуемый вывод 'aaa1234 bbb1234 c1234 dd aacc cccc ccadf', но дает' aaa1234bbb1234 c1234dd aacc cccc ccadf' – Jerry

+0

Первый слой оставляет двойные пробелы, второй оставляет конечное пространство (в конце). – Jerry

+0

@ Jerry обновлено снова –