/ / Java regex che NON contiene group - java, regex

Espressione regolare di Java che NON contiene group - java, regex

Devo scrivere una regex che corrisponda a tutto tranne i numeri in virgola mobile. Il regex per un numero variabile sarebbe come questo:

String floatPat = "(?:\d+\.\d+)";

Come dovrei usarlo per NON abbinare un numero mobile? Non posso usare un segno di omissione ^ come uso per le definizioni di classe.

risposte:

4 per risposta № 1

Puoi usare lookbehind negativo:

(?<!\d+\.\d+).*

Questa espressione corrisponderebbe a qualsiasi cosa (.*) a meno che non sia preceduto da una corrispondenza della regex del float (non acquisibile).