um parâmetro de consulta de uma URL
Casa com um parâmetro de consulta de uma URL. Encontra em qualquer parte do texto. Tem 2 grupos de captura.
Padrão
/[?&]([^=&]+)=([^&]*)/- Alcance
- em qualquer parte do texto
- Grupos de captura
- 2
- O que captura no primeiro exemplo
- ?a=1
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
?a=1
/p?a=1&b=2
2 correspondências
Exemplos que casam
- ?a=1
- /p?a=1&b=2
Exemplos que não casam
- a=1
- /path
Outras expressões do grupo
\[([^\]]+)\]\(([^)]+)\)um link Markdown^#{1,6}\s+.+$uma linha de título Markdown(?:^|\s)#([a-z0-9_]+)uma hashtag(?:^|\s)@([a-z0-9_]{2,})uma menção com arrobahttps?://[^\s<>"]+uma URL dentro de um texto comum^https?://([^/:?#]+)só o domínio de uma URL\.([a-z0-9]+)$a extensão de um nome de arquivo(?<=[a-z0-9])(?=[A-Z])a junção entre palavras em camelCaseComo ler
- Com ^ e $ em volta, a cadeia inteira precisa casar; sem eles, a correspondência pode estar em qualquer lugar. Ancore sempre o que usar para validar.
- Os parênteses ( ) capturam o que envolvem. Se você só precisa agrupar, escreva (?: ) para a numeração não se deslocar.
- Cada expressão aqui é conferida com seus exemplos. Ainda assim, "parece um e-mail" e "é uma caixa real" são coisas diferentes.
- Repetições abertas aninhadas como (a+)+ podem explodir com certas entradas. Procure esse formato antes de colar uma expressão alheia.
Perguntas frequentes
Q. Qual é a regex para um parâmetro de consulta de uma URL?
[?&]([^=&]+)=([^&]*).
Q. Quais cadeias casam?
Um texto como ?a=1 casa; um como a=1 não.
Q. A cadeia inteira precisa casar?
Não. Encontra a parte em qualquer lugar do texto. Coloque ^ e $ em volta para verificar a cadeia inteira.
Q. Como uso o que foi capturado?
Há 2 grupos de captura, então dá para ler a partir de match[1].