Невозможно одновременно сопоставить (?=foo)
и (?=baz)
. Требуется, чтобы следующий символ был одновременно f
и b
, что невозможно.
Возможно, вы хотите это вместо:
(?=.*foo)(?=.*baz)
Это говорит о том, что foo
должно появляться где угодно, а baz
должно появляться где угодно, не обязательно в этом порядке и, возможно, с перекрытием (хотя в данном конкретном случае перекрытие невозможно, поскольку сами буквы не перекрываются). *