A human way to define regular expressions?
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)(?:\/)?$/ via Hexpress by krainboltgreene.