Я предполагаю, что мы могли бы пропустить оба URL, которые в этом случае мы начнем с:
(\/[a-z]+)?(?:\.htm)?
Затем мы можем добавить больше границ, если хотите.
RegEx
Если это не было вашим желаемым выражением, вы можете изменить / изменить выражения в regex101.com .

RegEx Circuit
jex.im визуализирует регулярные выражения:

Разбивка группы JavaScript
const regex = /((\/[a-z]+)?(?:\.htm)?)/gm;
const str = `/aaa/bbbb/ccccc.htm
/xxx/yyy.htm`;
const subst = `Group #1: $1\nGroup #2: $2\n`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Если вы хотите пропустить второй URL-адрес и пропустить первый, вы можете просто добавить некоторые границы в ваше выражение, возможно, что-то похожее на , это будет работать:
^\/[a-z]+\/[a-z]+.htm$
