2010-03-16 11 views

Respuesta

12

Puede hacerlo exactamente de la manera que lo hizo, la tubería que separa los dos + expresiones

Por ejemplo: La expresion regular de (abc)|(def) se correspondería con abc O def

+0

me puedes enviar la sintaxis por favor ... – Praveen

+3

Esa es la sintaxis. La expresión regular 'pattern1 | pattern2' significa" match pattern1 o pattern2 ". – Cascabel

4

Realmente depende - es decir, usted puede diseñar su regex con modificadores "o" como este "(match this)|(or this)". Si utiliza regex cuidadosamente diseñada, solo necesita hacer esto:

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

Una vez. Esta es probablemente la forma más eficiente de hacer las cosas. La otra opción es ejecutar dos pares de objetos de coincidencia/patrón, ejecutar operaciones find hasta que find devuelva falso que contar el número de salidas. Si ambos> 0 estás en el negocio. La otra opción es si solo necesita una o más coincidencias, para hacer:

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