negazione regex in un modello
-
28-09-2019 - |
Domanda
Sto cercando di definire un modello di espressione regolare con una negazione all'interno del modello. Voglio escludere tutte le stringhe con 'Test' alla fine. Sono consapevoli del carattere [^Test]
negazione, ma questo non è quello che sto cercando, [^Test]
è pari a [^estT]
. Si dovrebbe passare per le stringhe come UserService
e non per UserServiceTest
. Quindi quello che ho fatto è quello di escludere che con {min,max}
. ma non funziona:. (
^([a-zA-Z0-9]+(Test){0,0})$
La mia idea è quella di mettere origine questo modello nella configurazione sopprimere checkstyle, ed escludere tutte le classi di test dal check checkstyle.
<module name="TreeWalker">
<property name="tabWidth" value="4"/>
<module name="TypeName">
<property name="format" value="([a-zA-Z0-9]+(Test){0,0})"/>
</module>
</module>
Do qualcuno sa come posso risolvere questo problema?
Saluti,
Kevin
Soluzione
È necessario utilizzare un lookbehind affermazione .
^([a-zA-Z0-9]+(?<!Test))$
Si noti che non tutti i motori di espressioni regolari supportano lookbehind.
Altri suggerimenti
che dire
[a-zA-Z0-9]+[^(Test)]