Предположим, у меня есть:
foo/fhqwhgads
foo/fhqwhgadshgnsdhjsdbkhsdabkfabkveybvf/bar
И я хочу заменить все, что следует за 'foo /', до тех пор, пока я не достигну '/' или, если '/' никогда не достигнуто, то до конца строки. Для первой части я могу использовать группу без захвата, например:
(?<=foo\/).+
И вот где я застреваю. Я мог бы соответствовать второму «/», как это:
(?<=foo\/).+(?=\/)
Это не поможет в первом случае. Желаемый результат:
foo/blah
foo/blah/bar
Я использую Ruby.