2010-03-16 11 views

Odpowiedz

12

Można to zrobić dokładnie tak, jak ty, z rury rozdzielającej dwa + wyrażeń

Na przykład: The wyrażenie regularne (abc)|(def) by dopasować abc LUB def

+0

możesz wysłać mi składnię plz .. – Praveen

+3

To jest składnia. Wyrażenie regularne "wzorzec1 | wzorzec2" oznacza "wzór dopasowania 1 lub wzorzec 2". – Cascabel

4

To zależy - mianowicie, można zaprojektować regex z "lub" takimi modyfikatorami, jak "(match this)|(or this)". Jeśli używasz starannie zaprojektowanego wyrażenia regularnego, wystarczy to zrobić:

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

Raz. Jest to prawdopodobnie najbardziej efektywny sposób postępowania. Inną opcją jest uruchomienie dwóch par obiektów matcher/pattern, uruchomienie operacji find aż do zwrócenia fałszywych wyników niż zliczenie liczby wyjść. Jeśli oboje są> 0, jesteś w biznesie. Inną opcją jest, jeśli potrzebujesz tylko jednego lub więcej dopasowań:

if (matcher1.find() & matcher2.find()) 
{ 
    ... 
} 
Powiązane problemy