Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   RegExp, не содержащее заданных символов (https://javascript.ru/forum/misc/20656-regexp-ne-soderzhashhee-zadannykh-simvolov.html)

Gleb 12.08.2011 16:06

RegExp, не содержащее заданных символов
 
Мне нужно составить регулярное выражение, содержащее "гов" или "сказ" в любой своей части и не содержащее нигде знаков окончания предложения (точки, вопросительного или восклицательного знака). Я думал, что это должно быть:
Код:

/.*(гов|сказ)[^\.\?!].*/
Но не получается: выражение всё равно захватывает фразы с точками, вопросительными и восклицательными знаками. Подскажите¸ пожалуйста:
Почему не срабатывает?
Что нужно, чтобы сработало?

e1f 12.08.2011 16:12

(/^[^.?!]*(?:гов|сказ)[^.?!]*$/).test('говенная сказочка')

Gleb 12.08.2011 16:45

Спасибо, но всё-таки поясните, пожалуйста, смысл используемых выражений: что значит "?:" в (?:гов|сказ)? Почему не надо экранировать "?" и "." внутри [^.?!]? Я нигде не встречался с такими вещами.


Часовой пояс GMT +3, время: 16:23.