Estou procurando um padrão que corresponda a tudo até a primeira ocorrência de um caractere específico, digamos ";" - um ponto e vírgula .
Eu escrevi isto:
/^(.*);/
Mas na verdade corresponde a tudo (incluindo o ponto e vírgula) até a última ocorrência de um ponto e vírgula.
\w+(?!([^]+;)|;)
mas isso não acontece por quê? .+(?!([^]+;)|;)
/^(.*?);/
também deve funcionar (é chamado de não ganancioso ), mas as respostas fornecidas[^;]*
são melhores.