Символ | между скобками или текстом означает ИЛИ.

Отсутствие этого символа означает И.

Например если надо отобрать текст со словосочетаниями

кирпичный завод

кирпичного завода

завода кирпичного 

завод кирпичный

около завода кирпичного стоит другой кирпичный завод


Подойдет такой шаблон:

(?=.*кирпич(ный|ного).*завод.*)|(?=.*завод.*кирпич(ный|ного).*)


Между скобками стоит знак | - это означает что подойдет, если сработает ИЛИ то ИЛИ это.

Но если знак | убрать - это будет означать, что мы хотим чтобы было И то И это.

Т.е. выражение: 

(?=.*кирпич(ный|ного).*завод.*)(?=.*завод.*кирпич(ный|ного).*)

отберет нам только текст

около завода кирпичного стоит другой кирпичный завод

Это потому, что в тексте одновременно встречаются оба фрагмента - И тот И этот.

Логическое отрицание - знак !

Если написать так:

(?=.*кирпич(ный|ного).*завод.*)(?=.*завод.*кирпич(ный|ного).*)(?!.*силикат.*)

То будет отброшен текст 

около завода кирпичного стоит другой кирпичный завод силикатного кирпича