un champ séparé par une virgule
Correspond à un champ séparé par une virgule. Il trouve la correspondance n’importe où dans le texte. Il y a 1 groupe capturant.
Motif
/(?:^|,)("(?:[^"]|"")*"|[^,]+)/- Portée
- n'importe où dans le texte
- Groupes capturants
- 1
- Ce qu’il capture dans le premier exemple
- a
Essayez
Tapez un texte : les parties capturées sont surlignées. Tout se passe dans votre navigateur, rien n’est envoyé.
a,b,c
"x,y",z
5 correspondances
Exemples qui correspondent
- a,b,c
- "x,y",z
Exemples qui ne correspondent pas
- ""
- ,,
Autres expressions du groupe
\.([a-z0-9]+)$l'extension d'un nom de fichier(?<=[a-z0-9])(?=[A-Z])la jointure entre mots en camelCase_([a-z])la lettre après un tiret bas-([a-z])la lettre après un trait d’union^([^=]+)=(.*)$un nom et une valeur séparés par un signe égal^\s*(\S+)le premier mot(\S+)\s*$le dernier mot\d+les suites de chiffres dans un texteComment lire
- Avec ^ et $, la chaîne entière doit correspondre ; sans eux, le motif peut se trouver n’importe où. Ancrez toujours ce qui sert à valider.
- Les parenthèses ( ) capturent ce qu’elles entourent. Pour seulement grouper, écrivez (?: ) afin que la numérotation ne se décale pas.
- Chaque expression ici est confrontée à ses exemples. Cela dit, « ressemble à un e-mail » et « est une vraie boîte » sont deux choses.
- Les répétitions ouvertes imbriquées comme (a+)+ peuvent exploser sur certaines entrées. Repérez cette forme avant de coller l’expression d’autrui.
Questions fréquentes
Q. Quelle est la regex pour un champ séparé par une virgule ?
(?:^|,)("(?:[^"]|"")*"|[^,]+).
Q. Quelles chaînes correspondent ?
Un texte comme a,b,c correspond ; un texte comme "" non.
Q. La chaîne entière doit-elle correspondre ?
Non. Elle trouve la partie n’importe où dans le texte. Ajoutez ^ et $ pour un contrôle sur la chaîne entière.
Q. Comment utiliser ce qui est capturé ?
Il y a 1 groupe capturant : lisez-les à partir de match[1].