Expressions régulières·un champ séparé par une virgule

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

Comment 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].