Método exec() da RegExp do JavaScript
- página anterior compile()
- Próxima página test()
- Voltar à página anterior Manual de Referência JavaScript RegExp
Definição e uso
exec()
Este método testa correspondências no texto.
Este é um padrão de correspondência genérico.
Se encontrar correspondências, retornará o array de resultados; caso contrário, retornará null
.
Exemplo
Exemplo 1
Procurar o caractere "e" na string:
let text = "The best things in life are free"; let result = /e/.exec(text);
Exemplo 2
Procurar "Hello" e "W3School" em toda a string:
let text = "Hello world!"; // Procurar "Hello" let result1 = /Hello/.exec(text); // Procurar "W3School" let result2 = /W3School/.exec(text);
sintaxe
regexp.exec(string)
parâmetro
parâmetro | descrição |
---|---|
string | obrigatório. A string a ser pesquisada. |
valor de retorno
tipo | descrição |
---|---|
array | Se encontrar correspondências, o array contém o texto correspondente; caso contrário, retorna null. |
detalhes técnicos
valor de retorno
array, que contém os resultados da correspondência. Se não encontrar correspondências, o valor será null
A seguir, é apresentado o formato do array retornado.
lança
tipo | descrição |
---|---|
TypeError | lança essa exceção se o objeto chamado não for RegExp. |
descrição
em todos os métodos de correspondência de RegExp, métodos de correspondência de Stringexec()
é a função mais poderosa. É um método genérico, mais fácil de usar do que RegExp.test()eString.replace() e String.match() tudo isso é complexo.
exec()
procurará a string stringobtém de regexp o texto correspondente. Se exec()
Encontrado o texto correspondente, retornará um array de resultados. Caso contrário, retornará null
Este é o primeiro elemento do array retornado que coincide com a expressão. O segundo elemento coincide com regexp 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 regexp o primeiro subexpressão correspondente ao texto (se existir). O segundo elemento é o texto correspondente aoexec()
o texto correspondente ao segundo subexpressão, e assim por diante. Normalmente, a propriedade length do array declara o número de elementos no array. Além dos elementos do array e da propriedade length, stringtambém retorna duas propriedades. A propriedade index declara a posição do primeiro caractere do texto correspondente. A propriedade input aponta para exec()
ao chamar o método String.match() o método retornado é o mesmo.
ao chamar um método de expressão regular não global exec()
ao chamar o método regexp é uma expressão regular globalexec()
o comportamento é um pouco mais complexo. Ele regexp o atributo lastIndex especificado começa a procurar a string string é configurado para o primeiro caractere da correspondência de texto. Isso significa que, através de chamadas repetidas regexp o atributo lastIndex da string exec()
método para percorrer todos os textos correspondentes na string. Quando o exec() não encontrar mais textos correspondentes, ele retornará null
e reseta o atributo lastIndex para 0. Se, após concluir uma correspondência de padrão em uma string, precisar começar a procurar uma nova string, é necessário manualmente resetar o atributo lastIndex para 0.
note que, independentemente regexp se é modo globalexec()
adicionam detalhes completos ao array retornado. Isso é exec()
e String.match() diferente, o último retorna muito menos informações em modo global. De fato, ao chamar repetidamente exec()
o método é a única maneira de obter informações completas de correspondência de padrão global.
suporte do navegador
exec()
é uma característica do ECMAScript1 (ES1).
Todos os navegadores suportam completamente o ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
suporte | suporte | suporte | suporte | suporte | suporte |
métodos de busca de expressão regular
No JavaScript, a busca de texto com expressões regulares pode ser feita por diferentes métodos.
usopadrão (pattern)Como expressão regular, esses são os métodos mais usados:
exemplo | descrição |
---|---|
text.match(padrão) | método de correspondência de string match() |
text.search(padrão) | método de busca de string search() |
padrão.exec(text) | Método RexExp exec() |
padrão.test(text) | Método RexExp test() |
- página anterior compile()
- Próxima página test()
- Voltar à página anterior Manual de Referência JavaScript RegExp