É possível definir um regex que corresponda a todos os caracteres, exceto um determinado caractere definido ou conjunto de caracteres?
Basicamente, eu queria dividir uma string por vírgula (,) ou ponto e vírgula (;). Então, eu estava pensando em fazê-lo com um regex que corresponderia a tudo até encontrar uma vírgula ou ponto-e-vírgula.
Use classes de caracteres. Uma classe de personagem que começa com sinal de intercalação corresponde a qualquer coisa que não esteja na classe.
fonte
use uma classe de caracteres negativos :
fonte
Usa isto:
fonte
(?:([^,;]*)(?:[^,;]|$))
' (PCRE com parênteses que não capturam). As alternativas de vírgula ou ponto-e-vírgula após o campo, ou fim do registro, fazem as coisas funcionarem melhor. Considere também se os campos vazios são permitidos.