Est-il possible de définir une expression régulière qui correspondra à chaque caractère, à l'exception d'un certain caractère défini ou d'un ensemble de caractères?
Fondamentalement, je voulais diviser une chaîne par une virgule (,) ou un point-virgule (;). Je pensais donc à le faire avec une expression régulière qui correspondrait à tout jusqu'à ce qu'elle rencontre une virgule ou un point-virgule.
Utilisez des classes de caractères. Une classe de caractères commençant par un signe d'insertion correspondra à tout ce qui n'est pas dans la classe.
la source
utilisez une classe de caractères négatifs :
la source
Utilisez ceci:
la source
(?:([^,;]*)(?:[^,;]|$))
' (PCRE avec des parenthèses non capturantes). Les alternatives d'une virgule ou d'un point-virgule après le champ ou la fin de l'enregistrement améliorent le fonctionnement. Vérifiez également si les champs vides sont autorisés.