No caso abaixo, onde um pai deve ser extraído de uma string por meio de uma expressão regular
input_string = "02150 ESPOO"
input_string[pattern]
Dois resultados muito diferentes surgem quer a pattern
expressão regular seja delimitada (começando e terminando) /^\d{5}$/
ou não/\d{5}/
Eu obtenho o resultado desejado no último caso, enquanto o primeiro retorna nil
. Por que o regex bookened falha?
A primeira expressão
/^\d{5}$/
começa com^
(que corresponde ao início de uma linha) e$
(que corresponde ao fim de uma linha). A expressão inteira pode ser descrita como: Corresponde a uma string, queEsta sequência não corresponde à sequência que você forneceu, porque a sequência inclui dois segmentos, um com 5 dígitos no início da sequência, mas há um espaço em branco sem correspondência e 5 letras antes do final da linha.
Você pode tentar
/^\d{5}/
(que corresponde a 5 dígitos no início de uma linha).