2010-03-16 12 views

risposta

12

Si può fare esattamente il modo in cui l'avete fatto, con il tubo che separa le due + espressioni

Per esempio: l'expresion regolare (abc)|(def) sarebbe partita abc O def

+0

puoi inviarmi la sintassi plz .. – Praveen

+3

Questa è la sintassi. L'espressione regolare 'pattern1 | pattern2' significa" match pattern1 o pattern2 ". – Cascabel

4

in realtà dipende - vale a dire, è possibile progettare il regex con "o" modificatori come questo "(match this)|(or this)". Se si utilizza regex attentamente progettato, è necessario solo effettuare questa operazione:

Pattern p1 = Pattern.compile(regex) 
Matcher m = p1.matcher(searchstring) 

Una volta. Questo è probabilmente il modo più efficiente di fare le cose. L'altra opzione è di eseguire due coppie di oggetti matcher/pattern, eseguire operazioni find fino a find restituzioni false rispetto al conteggio del numero di uscite. Se sono entrambi> 0, sei in affari. L'altra opzione è se hai bisogno di una o più corrispondenze:

if (matcher1.find() & matcher2.find()) 
{ 
    ... 
}