Я знаю, что вы претендуете на независимость от языка, но можете ли вы рассказать нам, что вы используете, просто чтобы мы знали, какие у вас есть возможности для регулярных выражений?
Если у вас есть возможности для нехватки совпадений, вы можете изменить выражение hometoast так, чтобы подвыражения, которые вам не интересны в захвате, были настроены следующим образом:
(?:SOMESTUFF)
Вы все равно должны были бы скопировать и вставить (и немного изменить) регулярное выражение в несколько мест, но это имеет смысл - вы не просто проверяете, существует ли подвыражение, а скорее, существует ли оно как часть URL . Использование модификатора без захвата для подвыражений может дать вам то, что вам нужно, и ничего более, что, если я правильно вас читаю, то, что вы хотите.
Точно так же, как небольшая небольшая заметка, в выражении hometoast не нужно заключать в скобки «s» для «https», поскольку у него там только один символ. Квантификаторы количественно определяют один символ (или класс символов или подвыражение) непосредственно перед ними. Итак:
https?
будет отлично соответствовать 'http' или 'https'.