---
title: 'Neues findAll(...) in Scanner'
url: 'https://tutego.de/blog/javainsel/2017/02/neues-findall-in-scanner'
markdown: 'https://tutego.de/blog/javainsel/2017/02/neues-findall-in-scanner.md'
date: '2017-02-25'
description: 'Immer dann, wenn ein Scanner mit einem regulären Ausdruck konfiguriert wurde, wird intern der Zustand vom dafür zugewiesenen Matcher aktualisiert. Die Scanner-Methode match() liefert einen MatchResult der letzten Operation, allerdings folgt eine IllegalStateException, wenn es keinen Match gab oder …'
taxonomy:
  category:
    - Allgemein
    - Insel
---

# Neues findAll(...) in Scanner

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

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

## Neues findAll(...) in Scanner

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

Immer dann, wenn ein `Scanner` mit einem regulären Ausdruck konfiguriert wurde, wird intern der Zustand vom dafür zugewiesenen `Matcher` aktualisiert. Die `Scanner`-Methode `match()` liefert einen MatchResult der letzten Operation, allerdings folgt eine `IllegalStateException`, wenn es keinen Match gab oder der letzte Match nicht erfolgreich war.

Beispiel: Finde alles, was im inneren zwischen <b></b> steht:

```java
Scanner sc = new Scanner( "Wichtig: essen und trinken!";
 while ( sc.findInLine( "(.+?)" ) != null )
   System.out.println( scanner.match().group( 1 ) );
```

Die Ausgabe ist dann „essen“ und „trinken“.

Java 9 bringt die neue Methode `Stream`<MatchResult> `findAll(Pattern pattern)`/ `findAll(String patString)` mit.

Beispiel: Finde alles, was im inneren zwischen <b></b> steht:

```java
new Scanner( "essen und\n trinken" )

  .findAll( "(.+?)" )

  .forEach( matchresult -> System.out.println( matchresult.group( 1 ) ) );
```

Die Ausgabe ist ebenfalls „essen“ und „trinken“.

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

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

---

## Navigation

- Previous: [Stream vom Scanner-Tokens generieren](https://tutego.de/blog/javainsel/2017/02/stream-vom-scanner-tokens-generieren.md)
- Next: [Insel Java 9 Update; Statusbericht 1](https://tutego.de/blog/javainsel/2017/02/insel-java-9-update-statusbericht-1.md)
