Я хочу, чтобы регулярное выражение соответствовало всем этим:
startabcend
startdef
blahstartghiend
blahstartjklendsomething
и вернуть abc
, def
, ghi
и jkl
соответственно.
У меня есть следующее, которое работает для случаев 1 и 3, но у меня возникли проблемы с тем, чтобы сделать предварительный просмотр необязательным.
(?<=start).*(?=end.*)
Изменить:
Хм. Плохой пример. На самом деле бит в середине не является числовым, а предшествует определенному набору символов и, возможно, следует за ним. Я обновил входы и выходы в соответствии с запросом и добавил 4-й пример в ответ на чей-то вопрос.