regex per l’abbinamento di qualcosa se non è preceduto da qualcos’altro

Quindi con regex in java, voglio scrivere un’espressione regolare che corrisponda se e solo se il pattern non è preceduto da determinati caratteri. Per esempio:

String s = "foobar barbar beachbar crowbar bar "; 

Voglio abbinare se la barra non è preceduta da foo. Quindi l’output sarebbe:

 barbar beachbar crowbar bar 

So che questa è probabilmente una domanda molto semplice. Sto cercando di imparare regex, ma nel frattempo ho bisogno di qualcosa su cui lavorare ora.

Vuoi usare negative lookbehind come questo:

 \w*(?< !foo)bar 

Dove (?< !x) significa "solo se non ha" x "prima di questo punto".

Vedi le espressioni regolari - Lookaround per ulteriori informazioni.

Modifica : aggiunto il \w* per catturare i caratteri prima (es. "Spiaggia").