# Regex Und-Verknüpfung?



## Smily (16. Jun 2006)

Hallo! Laut http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html unter Logical operators gibts die Möglichkeit z.B. eine ODER-Verknüpfung zu suchen. Wie kann ich aber eine UND-Verknüpfung suchen?

Beispieltext der durchsucht werden soll (kann auch mehr Wörter enthalten): *Hausteil Kaufteil Inkonsistent*

Bisher kann ich  (so wie ich es verstanden habe) nur sowas suchen:
*Hausteil ODER Kaufteil UND Inkonsistent*

Mein entsprechendes Regex-Pattern bisher:
*Hausteil|Kaufteil Inkonstent*

Meine Suche läuft aber darauf hinaus, das ich sowas will:
*(Hausteil ODER Kaufteil) UND Inkonsistent*

Wie kann ich das als regex-Pattern schreiben? :?:  Es will mir nicht ganz aus der Javadoc erschliessen.


----------



## byte (16. Jun 2006)

"Multiplizier" das Und doch einfach rein:

Hausteil Inkonsistent | Kaufteil Inkonsistent


----------



## Smily (16. Jun 2006)

Danke für den Tip! So funktioniert es dann auch richtig als Regex Pattern:

(Hausteil Inkonsistent)|(Kaufteil Inkonsistent)


----------



## Leroy42 (16. Jun 2006)

Darf ich's wieder _rausmultiplizieren_?  :shock: 

*(Hausteil|Kaufteil) Inkonsistent*


----------



## Smily (16. Jun 2006)

Na, meinste nicht, das das meine aller erste Idee war? Und das sie nicht funktioniert hatte?


----------



## André Uhres (17. Jun 2006)

Smily hat gesagt.:
			
		

> Na, meinste nicht, das das meine aller erste Idee war? Und das sie nicht funktioniert hatte?


"Hausteil|Kaufteil Inkonstent" != "(Hausteil|Kaufteil) Inkonsistent"  :roll:


----------



## Smily (17. Jun 2006)

Meine erste Idee hab ich hier nicht gepostet. Da sie aber nicht funktioniert hat, habe ich erst die Frage hier gestellt.


----------



## André Uhres (18. Jun 2006)

Smily hat gesagt.:
			
		

> Meine erste Idee hab ich hier nicht gepostet...


Hier ist deine Idee:

```
//package regex; 
/* 
* TestRegex5.java 
*/ 
import java.util.regex.*; 
public class TestRegex5 { 
    public TestRegex5() { 
        test();
    } 
    private void test(){ 
        String str = "Hausteil Kaufteil Inkonsistent " + 
                "Kaufteil Hausteil Inkonsistent "; 
        Pattern regex = Pattern.compile("(Hausteil|Kaufteil) Inkonsistent"); 
        Matcher m = regex.matcher(str); 
        while(m.find())  System.out.println(m.group()); 
    } 
    public static void main(String[] args) {new TestRegex5();} 
}
```
Was funktioniert denn nicht?  :?


----------

