---
title: 'Gruppen in regulären Ausdrücken'
url: 'https://www.tutego.de/blog/javainsel/2012/08/gruppen-in-regulren-ausdrcken'
markdown: 'https://www.tutego.de/blog/javainsel/2012/08/gruppen-in-regulren-ausdrcken.md'
date: '2012-08-01'
description: 'In regulären Ausdrücken lassen sich Teilausdrücke in runde Klammen setzen und diese bilden dann Gruppen; im Englischen heißen sie capturing groups. Gruppen haben zwei Vorteile: An die Gruppe gesetzte Operationen wirken für die Gruppe. Beispiel: Der Ausdruck (\d\d)+ steht für gerade Anzahl von Zif…'
taxonomy:
  category:
    - Insel
---

# Gruppen in regulären Ausdrücken

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Gruppen in regulären Ausdrücken

01.08.2012 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

In regulären Ausdrücken lassen sich Teilausdrücke in runde Klammen setzen und diese bilden dann Gruppen; im Englischen heißen sie capturing groups. Gruppen haben zwei Vorteile:

- An die Gruppe gesetzte Operationen wirken für die Gruppe. Beispiel: Der Ausdruck (\\d\\d)+ steht für gerade Anzahl von Ziffern.
- Auf eine Gruppe lässt sich gezielt zurückgreifen.

Beispiel 1

Ein `String` enthält zwei Zahlen, die mit einem Doppelpunkt getrennt sind. Wie interessieren uns für die erste und zweite Zahl:

```java
Matcher matcher = Pattern.compile( "(\\\\d+):(\\\\d+)").matcher( "1:123" );

if ( matcher.find() )

 System.out.println( matcher.group(1) + "," + matcher.group(2) ); // 1,123
```

Der Trick ist also, bei `group(int)` einen Index anzugeben; der beginnt bei 1.

Beispiel 2

Ein `String` aus einer Datei enthält einen Block in geschweiften Klammen. Wir interessieren uns für den Block.

```java
String input = "line1\\n{line2\\nline3}\\nline4";

Matcher matcher = Pattern.compile( "\\\\{(.*)\\\\}", Pattern.MULTILINE | Pattern.DOTALL ).matcher( input );

if ( matcher.find() )

 System.out.println( matcher.group( 1 ) ); // line1, dann Umbruch, line2
```

Bei der Angabe ohne Index, also `group()`, ist die Rückgabe alles was `find()` gefunden hat. Die Fundstellen sind natürlich Teilstrings der gesamten Gruppe.

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/)

## 3 Kommentare

**sebastian n.** · [04.08.2012 10:45](#comment-4208)

Hallo Christian, aufgefallen ist es mir nicht auf einem Android-Device sondern in Chrome auf Ubuntu. Habe eben aber auch mal auf meinen Android-Devices nachgeschaut. In Chrome auf dem Lifetab mit Android 4.0.3 und auf dem Desire mit Android 2.2.2 gleiches Problem. Übrigens habe ich das Problem in den Kommentaren nicht! Weiter aufgefallen ist mir auch, dass auf der Übersichtsseite (http://www.tutego.de/blog/javainsel/) das Problem nicht auftaucht, hier wird alles korrekt dargestellt!

**Christian Ullenboom** · [02.08.2012 11:16](#comment-4201)

Nutzt du Android? Mir fällt gerade auf, dass es mit dem Chrome auf Windows OK ist, aber bei mir auf dem Samsung Tablet auch falsch ist. In der mobilen Ansicht und normalen. Ist ein Fehler.

**sebastian n.** · [01.08.2012 17:34](#comment-4200)

Kann es sein, dass in der Bloggingsoftware doppelte Backslashes zu einfachen werden (bzw. einfache gelöscht) in den Beiträgen :D ? Wenns auch bei den Kommentaren der Fall ist, ist bei nachfolgendem überall ein Backslash voran zu denken ^^ \\\\\\\\d -> \\\\d \\\\n -> n \\\\\\\\{ -> \\\\{

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Next: [Neue Version von Google Guava, nun Version 13](https://www.tutego.de/blog/javainsel/2012/08/neue-version-von-google-guava-nun-version-13.md)
