Minha regex é: /(?<!start )".*?"/
- ela procura por aspas no texto (na verdade, por literais de string no código)
Para mim, funciona perfeitamente com estes casos:
- iniciar "texto" - não corresponde
- 123 "texto" - correspondência
- "texto" - correspondência
Mas com casos como esse isso não acontece:
- iniciar "teste " iniciar " texto" - ele corresponderá quando eu não quiser (com "iniciar" )
Como posso fazer com que o regex negative lookbehind consuma texto descartado?
Você pode usar SKIP FAIL . Existem outras maneiras também, se você elaborar:
Veja também
Ou:
Ver
Detalhes
\bstart\s+"[^"\r\n]*"(*SKIP)(*F)
: primeiro corresponde ao que você não quer e depois usa SKIP FAIL para removê-lo dos resultados."[^"\r\n]*"
:Resta apenas o que você deseja combinar.