Кажется, что ожидаемый вывод отличается от части строки во входных данных. При желании выражение может быть довольно сложным, например:
(?:[\s\S].*?)(?<=area\/)([^-])([^-]*)(-)([^\/])([^\/]*).*
и замена чего-то похожего на /\U$1\E$2$3\U$4\E$5/
, если доступно.
Если будут другие операции, теперь я предполагаю, что, возможно, pascalcase
что-то сделает, это простое выражение может просто сработать здесь:
.*area(\\/.*?\\/).*
и требуемые данные находятся в этой группе захвата $1
:
(\\/.*?\\/)