um campo separado por vírgulas
Casa com um campo separado por vírgulas. Encontra em qualquer parte do texto. Tem 1 grupo de captura.
Padrão
/(?:^|,)("(?:[^"]|"")*"|[^,]+)/- Alcance
- em qualquer parte do texto
- Grupos de captura
- 1
- O que captura no primeiro exemplo
- a
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
a,b,c
"x,y",z
5 correspondências
Exemplos que casam
- a,b,c
- "x,y",z
Exemplos que não casam
- ""
- ,,
Outras expressões do grupo
\.([a-z0-9]+)$a extensão de um nome de arquivo(?<=[a-z0-9])(?=[A-Z])a junção entre palavras em camelCase_([a-z])a letra que segue um sublinhado-([a-z])a letra que segue um hífen^([^=]+)=(.*)$um nome e valor separados por igual^\s*(\S+)a primeira palavra(\S+)\s*$a última palavra\d+grupos de dígitos dentro de um textoComo 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 campo separado por vírgulas?
(?:^|,)("(?:[^"]|"")*"|[^,]+).
Q. Quais cadeias casam?
Um texto como a,b,c casa; um como "" 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á 1 grupo de captura, então dá para ler a partir de match[1].