В pcre бесконечный внешний вид .*
в шаблоне a b-c(?<=a.*)d
, на который вы ссылаетесь в комментариях, не поддерживается.
Одной из опций для соответствия либо [a-z] b c d e f
, либо a b c d e d alphas
может быть использование условное выражение if-then-else выглядит как (?(?=regex)then|else)
(?(?=a)\ba b c d e f alphas\b|[a-z] b c d e f)
О регулярном выражении
(?
If предложение (?=a)
Позитивный взгляд на утверждение справа: a
\ba b c d e f alphas\b
Совпадение a b c d e f alphas
и использование границ слов, чтобы символы a и альфа не являлись частью более крупного слова
|
Или [a-z] b c d e f
Соответствует символу az, за которым следует bcdef)
См. Regex demo