Dear lord, I hope no one is actually using this in production.
pattern = Hexpress.new. start("http"). maybe("s"). with("://"). maybe { words.with(".") }. find { matching { [word, "-"] }.multiple }. has("."). either("com", "org"). maybe("/"). ending pattern.to_r #=> /^http(?:s)?:\/\/(?:(?:\w)+\.)?([\w\-]+)\.(?:com|org)(?:\/)?$/