Регулярные выражения, отрицательный просмотр вперед в любом месте строки

Мне очень жаль, если об этом спрашивают и есть ответ, но я не могу его найти.

Я знаю об обходах регулярных выражений и отрицательном просмотре вперед.

Дело в том, что отрицательный просмотр вперед проверяет то, что идет сразу после текущей позиции в строке.

Что мне нужно, так это найти и отбросить совпадения, если строка содержит такие слова, как, например, «карьера (и)» и «специальные предложения», но если она содержит их где-нибудь в строке.

Что было бы эффективным способом сделать это?

На данный момент я использую разновидность PCRE, но чем больше общее регулярное выражение, тем лучше.

Спасибо.


person toni rmc    schedule 21.06.2015    source источник


Ответы (1)


Вы можете использовать это регулярное выражение:

^(?!.*?(?:career\(s\)|specials)).*

Или s необязательно, тогда

^(?!.*?(?:career|special)s?).*

Демонстрация RegEx

person anubhava    schedule 21.06.2015