Assim, caso a partida seja às 04:22, o novo horário será 04:15, em outra situação com partida às 08:55,
o horário deve ser ajustado para 08:45. Note que o problema apresenta um desafio interessante e,
avaliando o cenário apresentado, minutos preciosos certamente seriam gastos nesta tarefa. Como
podemos utilizar a REGEX neste caso?
Inicialmente, adicionamos os ‘:’ (dois pontos) para definir horas e minutos, acreditamos que isso
facilite o entendimento. Na sequência, precisaremos buscar minutos e suas variações entre 0 e 2
para o primeiro algarismo, com a expressão ‘[0-2]’. Note que o ‘-’ (hífen) representando o intervalo
entre os valores foi colocado. A ausência desse operador definiria a busca exclusiva dos termos: 0 ou
2.
Um breve exemplo a partir desse segundo argumento seria a busca textual da palavra ‘não’ escrita
sem o acento. A instrução ‘n[aã]o’ traria ambos os resultados, com ou sem acento. Note que uma
REGEX pode ser construída com diferentes intervalos numéricos e textuais. Para saber o que cada
intervalo contempla é preciso estar atento(a) à Tabela ASCII, pois ela fornece as diretrizes sobre o
conjunto de caracteres presentes em uma sequência.
Por fim, precisaremos do complemento que pode ser qualquer dígito entre 0 e 9. Pensando na
descrição anterior, teríamos duas possibilidades, ‘[0123456789]’ ou ‘[0-9]’, sendo o segundo menor,
mais intuitivo e mais interessante para essa situação. Assim, temos ‘:[0-2][0-9]’. Essa, no entanto, não é
a única forma de realizar uma busca por dígitos decimais. O comando ‘\d’ é relativo a qualquer dígito
decimal entre 0 e 9. Com isso, poderíamos usar ‘:[0-2][\d]’ para obter o mesmo resultado.
A partir do padrão formado, podemos facilmente buscar o resultado inverso, ou seja, partidas com
horários entre 30 e 59 min. Uma forma de fazer isso seria modificar a expressão anterior com uma
lógica inversa, ou seja, negar o termo anterior pode trazer os valores procurados. A nova expressão
ficaria ‘:[^0-2][\d]’.