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

È stato utile?

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)]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top