Reguläre Ausdrücke

Reguläre Ausdrücke stellen ein essentielles Werkzeug in der Informatik dar. Sie ermöglichen das Durchsuchen, Validieren und Manipulieren von Text auf eine leistungsstarke und flexible Weise. Dieser Artikel vermittelt ein tiefgehendes Verständnis dafür, was reguläre Ausdrücke sind und wie sie funktionieren. Die Verwendung von regulären Ausdrücken in unterschiedlichen Programmiersprachen, ihre praktischen Anwendungen sowie die theoretischen Aspekte in der Informatik werden ebenfalls behandelt. Weiterhin dient der Artikel als kompakte, aber umfangreiche Referenz für reguläre Ausdrücke und ihre diversen Nutzungsmöglichkeiten.

Los geht’s

Lerne mit Millionen geteilten Karteikarten

Leg kostenfrei los

Schreib bessere Noten mit StudySmarter Premium

PREMIUM
Karteikarten Spaced Repetition Lernsets AI-Tools Probeklausuren Lernplan Erklärungen Karteikarten Spaced Repetition Lernsets AI-Tools Probeklausuren Lernplan Erklärungen
Kostenlos testen

Geld-zurück-Garantie, wenn du durch die Prüfung fällst

Review generated flashcards

Leg kostenfrei los
Du hast dein AI Limit auf der Website erreicht

Erstelle unlimitiert Karteikarten auf StudySmarter

StudySmarter Redaktionsteam

Team Reguläre Ausdrücke Lehrer

  • 15 Minuten Lesezeit
  • Geprüft vom StudySmarter Redaktionsteam
Erklärung speichern Erklärung speichern
Inhaltsverzeichnis
Inhaltsverzeichnis

Springe zu einem wichtigen Kapitel

    Einführung in Reguläre Ausdrücke

    Im Bereich der Informatik und Programmierung tauchen sie immer wieder auf - Reguläre Ausdrücke. Dieser Begriff kann zunächst schwer zu fassen sein, wenn du erst damit anfängst, dich näher damit zu befassen. Nichtsdestotrotz sind sie unglaublich nützlich und erleichtern gerade in der Textverarbeitung und -suche das Leben enorm.

    Was sind Reguläre Ausdrücke in der Informatik?

    Reguläre Ausdrücke (engl. Regular Expression oder kurz Regex) sind Muster, die verwendet werden, um bestimmte Kombinationen von Zeichen in Texten auszufiltern oder zu ersetzen. Sie basieren auf der formalen Sprachtheorie und werden oft in der Textbearbeitung und Programmierung eingesetzt.

    Reguläre Ausdrücke können sehr einfach sein, wie etwa die Suche nach einem konkreten Wort. Es können aber auch komplexere Muster beschrieben werden, beispielsweise nach Zeichenketten, welche mit einem bestimmten Wort beginnen und mit einem anderen enden.

    Als Beispiel könnte das Muster "T.*g" in einem regulären Ausdruck alle Wörter in einem Text finden, die mit "T" beginnen und auf "g" enden - beispielsweise "Tag", "Trag" oder "Türgriff" und so weiter.

    Grundlegende Regeln für Reguläre Ausdrücke

    Reguläre Ausdrücke folgen bestimmten Regeln und verwenden besondere Zeichen, um Muster zu definieren. Einige davon sind:
    • Punkt (.) : Steht für jedes Zeichen außer Zeilenumbruch.
    • Stern (*) : Wiederholt das vorige Zeichen 0 oder mehr Mal.
    • Plus (+) : Wiederholt das vorige Zeichen 1 oder mehr Mal.
    • Fragezeichen (?) : Macht das vorige Zeichen optional (0 oder 1 Mal).
    Auch können Gruppierungen und Auswahlmöglichkeiten ausgedrückt werden. Zum Beispiel \( [] \) stellt eine Auswahl der darin enthaltenen Zeichen dar, \( () \) gruppiert Ausdrücke. In der folgenden Tabelle wird der Einsatz von regulären Ausdrücken zur Zeichenerkennung verdeutlicht:
    Muster Erklärung
    \[A-Za-z\] Jeder Buchstabe, egal ob groß oder klein
    \[0-9\]\* Beliebige Zahl, auch 0
    ka\?t "kt" oder "kat"
    Reguläre Ausdrücke sind ein unglaublich mächtiges Werkzeug zum Arbeiten mit Texten. Es gilt allerdings auch zu bedenken, dass sie aufgrund ihrer umfangreichen Syntax oft als sperrig und schwer lesbar empfunden werden.

    Wenn du mehr über spezifischere Anwendungen und spezielle Muster von regulären Ausdrücken erfahren möchtest, empfehle ich dir, einen Blick in die Regex-Dokumentation zu werfen. Dort findest du viele weitere Informationen und Beispiele, wie du sie in deinem Code einsetzen kannst.

    Mit der Zeit und ein wenig Übung erhältst du aber ein Gefühl dafür und wirst sie sicherlich in vielen Bereichen schätzen.

    Reguläre Ausdrücke Beispiele und Anwendung

    Reguläre Ausdrücke kommen in vielen Bereichen der Informatik und Programmierung zum Einsatz, vom einfachen Filtern von Texten über die Validierung von Benutzereingaben bis hin zur Textverarbeitung in umfangreichen Softwareprojekten. Durch die Möglichkeit, sowohl einfache als auch komplexe Muster zu definieren, bieten sie eine hohe Flexibilität und können in verschiedensten Anwendungsfällen zum Einsatz kommen. Es ist durchaus möglich, dass du bei deiner Arbeit als Informatiker oder Programmierer immer wieder auf sie stoßen wirst.

    Praktische Beispiele für Reguläre Ausdrücke

    Ein häufiger Anwendungsfall für reguläre Ausdrücke ist die Validierung von Benutzereingaben. Hierbei kannst du prüfen, ob Eingaben bestimmte Voraussetzungen erfüllen, zum Beispiel ob eine E-Mail-Adresse das typische Format besitzt. Ein entsprechender regulärer Ausdruck könnte dabei etwa wie folgt aussehen:
     
    ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(com|de|net|org)$
    
    Dieser reguläre Ausdruck überprüft, ob die Eingabe mit einem oder mehreren Buchstaben oder Zahlen beginnt, eventuell gefolgt von Punkten, Unterstrichen, Prozentzeichen oder Plus- und Minuszeichen. Dann muss ein @-Zeichen folgen. Danach erwartet der Ausdruck wiederum ein oder mehrere Buchstaben oder Zahlen, eventuell gefolgt von Punkten oder Minuszeichen. Dann folgt ein Punkt, und am Ende muss eine der gegebenen Top-Level-Domains stehen.

    Wenn du zum Beispiel überprüfen möchtest, ob die Zeichenkette "test.user@domain.com" eine gültige E-Mail-Adresse ist, liefert der obige reguläre Ausdruck das erwartete Ergebnis.

    Reguläre Ausdrücke kommen aber nicht nur bei der Validierung von Eingaben zum Einsatz, sondern auch bei der Textbearbeitung und -suche. So kannst du mit ihrer Hilfe zum Beispiel bestimmte Muster innerhalb eines Textes suchen oder ersetzen.

    Angenommen, du möchtest alle Wörter in einem Text finden, die auf ein bestimmtes Suffix enden. Dafür könntest du den regulären Ausdruck "\w*suffix$" verwenden. Dieser findet alle Wörter, die mit dem gewünschten Suffix enden - unabhängig davon, was vor dem Suffix steht.

    Reguläre Ausdrücke testen und überprüfen

    Nachdem du einen regulären Ausdruck erstellt hast, ist es wichtig, diesen auch zu testen. Dieser Schritt ist notwendig, um sicherzustellen, dass der Ausdruck auch wirklich das gewünschte Ergebnis liefert. Einige moderne IDEs (Integrated Development Environment) bieten bereits eingebaute Funktionen zur Überprüfung von regulären Ausdrücken. Andernfalls kann es auch hilfreich sein, auf Online-Tools zurückzugreifen.

    Ein solches Tool ist zum Beispiel "regex101". Dort kannst du den von dir erstellten regulären Ausdruck eingeben und diesen direkt an einem Beispieltext testen. Das Tool hebt die Stellen im Text hervor, die dem regulären Ausdruck entsprechen und gibt zusätzliche Informationen zum genauen Ablauf der Erkennung.

    Zudem lässt sich bei komplexeren regulären Ausdrücken deren Laufzeit überprüfen, um sicherzustellen, dass diese nicht zu lange für die Ausführung benötigen - ein Aspekt, der gerade in der Anwendung mit großen Datenmengen von Bedeutung sein kann. Reguläre Ausdrücke sind ein mächtiges Werkzeug, welches dir in vielfältigen Anwendungsfällen große Dienste leisten kann. Bei der Arbeit mit ihnen ist jedoch stets Sorgfalt geboten: Ein kleiner Fehler im Ausdruck kann bereits dazu führen, dass dieser nicht das liefert, was du erwartest. Ein gründliches Testen und Überprüfen ist daher unerlässlich.

    Programmieren mit Regulären Ausdrücken

    Beim Programmieren sind Reguläre Ausdrücke ein unerlässliches Werkzeug, um Textmuster zu erkennen oder zu generieren. In verschiedenen Programmiersprachen wie Python und Java gibt es eingebaute Module bzw. Klassen, die die Arbeit mit Regulären Ausdrücken unterstützen. Sie ermöglichen das effektive Durchsuchen und Manipulieren von Strings und können helfen, Code sauber und lesbar zu halten.

    Reguläre Ausdrücke in Python anwenden

    Python unterstützt die Verwendung von Regulären Ausdrücken durch das eingebaute Modul 're'. Mit diesem können verschiedene Funktionen zur Verarbeitung von Texten genutzt werden. Zuerst muss das Modul importiert werden:
    import re
    
    Mit der Funktion re.findall() können alle Übereinstimmungen eines Musters in einem Text gefunden werden. Angewendet wird dies wie folgt:
    text = "Dies ist ein Text zum Testen von regulären Ausdrücken"
    muster = r'\bT\w+\b'
    übereinstimmungen = re.findall(muster, text)
    
    Das Muster \bT\w+\b sucht hier nach allen Wörtern, die mit einem 'T' beginnen. In 'übereinstimmungen' sind am Ende alle gefundenen Wörter gespeichert. Um dahingegen nur die erste Übereinstimmung in einem String zu finden, kann die Funktion re.search() verwendet werden. Sie gibt ein Match-Objekt zurück, aus dem die gefundene Übereinstimmung extrahiert werden kann.
    match = re.search(muster, text)
    if match:
        print(match.group())
    
    Mit Ausdrücken wie r'\d+' können z.B. Zahlenreihen gefunden werden. Der Ausdruck \d steht dabei für eine Ziffer, das Plus-Symbol gibt an, dass eine oder mehrere aufeinanderfolgende Ziffern gesucht werden. Aber Achtung! Es ist zu beachten, dass der Umgang mit Regulären Ausdrücken auch in Python nicht immer einfach ist. Besonders bei komplexeren Mustern kann die richtige Verwendung schnell schwierig werden. Doch mit etwas Übung wird auch das beherrschbar!

    Reguläre Ausdrücke in Java anwenden

    Auch in Java gibt es eingebaute Unterstützung für Reguläre Ausdrücke. Die Klasse Pattern bietet hierfür verschiedene Methoden an. Um ein Muster zu erstellen, wird zunächst ein Pattern-Objekt angelegt:
    Pattern pattern = Pattern.compile("Muster");
    
    Soll ein Text auf Übereinstimmungen mit dem Muster überprüft werden, wird ein Matcher-Objekt benötigt:
    Matcher matcher = pattern.matcher("Text zum Überprüfen");
    
    Mit den Methoden des Matcher-Objekts können dann Übereinstimmungen gefunden werden:
    while(matcher.find()) {
        System.out.println("Gefundene Übereinstimmung: " + matcher.group());
    }
    
    Eine häufig genutzte Methode ist matcher.matches(), welche überprüft, ob der gesamte Text mit dem Muster übereinstimmt. Dies kann zum Beispiel bei der Validierung von Benutzereingaben nützlich sein. Java bietet somit ähnliche Möglichkeiten wie Python zur Verwendung von Regulären Ausdrücken. Es empfiehlt sich, die entsprechenden Dokumentationen der jeweiligen Sprache zu konsultieren, um weitere Funktionen und Möglichkeiten kennenzulernen. Mit etwas Übung können Reguläre Ausdrücke in der Programmierung eine enorme Hilfe sein und den Umgang mit Texten stark vereinfachen.

    Detaillierte Liste von Regulären Ausdrücken

    Reguläre Ausdrücke sind in vielen verschiedenen Kontexten anwendbar und ihre Möglichkeiten fast unbegrenzt. Es existiert eine Vielzahl von speziellen Zeichen und Sequenzen, die eine bestimmte Bedeutung im Kontext eines regulären Ausdrucks haben. In dieser Sektion gehen wir auf einige der wichtigsten und am häufigsten verwendeten regulären Ausdrücke ein.

    Reguläre Ausdrücke für Zahlen und andere spezielle Zeichen

    Eine wichtige Anwendung von regulären Ausdrücken ist die Identifizierung und Verarbeitung von Zahlen und anderen speziellen Zeichen in Texten. Hier eine Übersicht einiger wichtiger Ausdrücke in diesem Kontext:
    • \d : Steht für eine beliebige Ziffer von 0-9.
    • \D : Steht für jedes Zeichen, das keine Ziffer ist.
    • \w : Steht für ein beliebiges alphanumerisches Zeichen, einschließlich Unterstrich.
    • \W : Steht für jedes Zeichen, das kein alphanumerisches Zeichen ist.
    • \s : Steht für jedes Leerzeichen, einschließlich Leerzeichen, Tabstopps, Zeilenumbrüche usw.
    • \S : Steht für jedes Zeichen, das kein Leerzeichen ist.
    Es gibt auch Ausdrücke, um Anfang und Ende eines Strings oder Zeilenumbrüche zu identifizieren:
    • ^ : Der Ausdruck "^Text" entspricht jedem String, der mit "Text" beginnt.
    • $ : Der Ausdruck "Text$" entspricht jedem String, der mit "Text" endet.
    • \n : Steht für einen Zeilenumbruch.

    Wolltest du beispielsweise überprüfen, ob ein String nur aus Zahlen besteht, könntest du den regulären Ausdruck "^\d+$" verwenden. Dieser Ausdruck steht für einen String, der nur aus einer oder mehr complement.drop_tokens von Ziffern besteht und ansonsten keine anderen Zeichen enthält.

    Hauptkategorien von Regulären Ausdrücken

    Reguläre Ausdrücke lassen sich grundsätzlich in drei Hauptkategorien einteilen:
    • Elementare Zeichen und Zahlen: Diese Ausdrücke matchen einzelne Zeichen oder Zahlen. Beispielsweise entspricht \d einer Ziffer und a würde dem Buchstaben a entsprechen.
    • Positionsspezifische Ausdrücke: Diese bestimmen das Muster in Bezug auf die Position im Text. Zum Beispiel würde ^Text einen Text matchen, der mit "Text" beginnt, während Text$ einen Text matchen würde, der mit "Text" endet.
    • Quantifizierer: Diese Ausdrücke definieren, wie oft ein bestimmtes Zeichen oder eine Gruppe von Zeichen vorkommen muss. Beispiele hierfür sind *, + und {}.
    Zusätzlich ist es möglich, Gruppen zu definieren und zu referenzieren. Hierfür kommen die Ausdrücke () und \1 zum Einsatz.

    Je nachdem, welche Programmiersprache du verwendest, könnten einige dieser Ausdrücke leicht anders aussehen oder andere Extras haben. Es ist daher wichtig, die Dokumentation der regulären Ausdrücke in deiner jeweiligen Programmiersprache zu lesen und zu verstehen. So kannst du sicher sein, dass du die Ausdrücke korrekt verwendest und die gewünschten Ergebnisse erzielst.

    Theoretische Tiefe: Reguläre Ausdrücke und Theoretische Informatik

    Reguläre Ausdrücke sind ein tragendes Element in der Theoretischen Informatik. Sie sind eng mit den Bereichen der formellen Sprachen und Automatentheorie verbunden und spielen eine zentrale Rolle bei der Modellierung, Analyse und Verarbeitung von textbasierten Daten. Von der Validierung von Eingaben auf Webseiten bis hin zur Verarbeitung von Textdateien in Softwareanwendungen, die Möglichkeiten sind vielseitig und enorm.

    Warum sind Reguläre Ausdrücke wichtig in der Theoretischen Informatik?

    Reguläre Ausdrücke sind ein fester Bestandteil der theoretischen Informatik, besonders in der Theorie formaler Sprachen und Automaten. Sie bieten eine einheitliche und präzise Sprache zur Darstellung und Manipulation von Strings, die auf verschiedenen Modellen der Berechenbarkeit basiert. Reguläre Ausdrücke können als formale Sprachen betrachtet werden und jedes reguläre Ausdrucksmuster repräsentiert eine Menge von Zeichenketten. Sie können als einfachste Form von formalen Sprachen verstanden werden und besitzen den geringsten Ausdrucksgrad aller Chomsky-Sprachklassen. Im Rahmen der formalen Sprachen wird eine Verbindung zwischen regulären Ausdrücken und sogenannten endlichen Automaten hergestellt. Ein endlicher Automat ist ein einfacher 'Rechenmechanismus', der eine endliche Menge von Zuständen besitzt und auf Eingabe eines Zeichens aus einer Eingabealphabet in einen neuen Zustand übergeht. Dieser Automat akzeptiert die Sprache, die durch den regulären Ausdruck repräsentiert wird.
    Regulärer Ausdruck: a* 
    Entspricht der Sprache: {ε, a, aa, aaa, aaaa,...}
    
    Hierbei steht "a*" für eine beliebige Anzahl (inklusive Null) von wiederholten Zeichen "a". Das Zeichen "*" steht für die Kleenesche Hülle, die in der Theorie der formalen Sprachen eine wichtige Rolle spielt. Ihr Bezug zur formellen Sprachtheorie und der Automatentheorie ist ein Grund, warum reguläre Ausdrücke eine so große Rolle in der Theoretischen Informatik spielen. Durch die enge Beziehung zu diesen Themen liefern reguläre Ausdrücke ein solides Verständnis für wichtigere und komplexere Konzepte in diesem Bereich der Informatik.

    Fortgeschrittene Konzepte mit Regulären Ausdrücken

    Abseits von den Grundlagen bieten reguläre Ausdrücke auch viele fortgeschrittene Konzepte und Techniken, mit denen komplexere Textmuster erkannt und verarbeitet werden können. Es ist möglich, verschiedene Operationen auf regulären Ausdrücken durchzuführen. Die gängigsten Operationen sind die Vereinigung, die Konkatenation und die Stern-Operation.
    • Vereinigung: Wenn R und S reguläre Ausdrücke sind, dann ist auch \( R \cup S \) ein regulärer Ausdruck. Dieser akzeptiert alle Wörter, die entweder in der Sprache von R oder in der Sprache von S liegen.
    • Konkatenation: Wenn R und S reguläre Ausdrücke sind, dann ist auch \( RS \) ein regulärer Ausdruck. Dieser akzeptiert alle Wörter, die durch die Konkatenation von einem Wort aus der Sprache von R und einem Wort aus der Sprache von S geformt werden können.
    • Stern-Operation: Wenn R ein regulärer Ausdruck ist, dann ist auch \( R^* \) ein regulärer Ausdruck. Dieser akzeptiert alle Wörter, die durch die Konkatenation von null oder mehr Wörtern aus der Sprache von R geformt werden können.
    Darüber hinaus gibt es bei regulären Ausdrücken auch die Möglichkeit, Gruppen zu bilden und auf diese zu referenzieren. Mithilfe von runden Klammern können bestimmte Teile eines Ausdrucksmusters gruppiert und später im gleichen Ausdrucksmuster wiederverwendet werden. Dabei werden die Gruppen von links nach rechts durchgezählt und können durch einen Backslash und die entsprechende Gruppennummer referenziert werden.
    Regulärer Ausdruck: (ab)\1
    Entspricht der Sprache: {abab}
    
    Im obigen Beispiel wird die Gruppe "ab" definiert und mithilfe von "\1" im gleichen Ausdrucksmuster wiederverwendet. Der gesamte reguläre Ausdruck steht daher für die Zeichenkette "abab". Die Verwendung von fortgeschrittenen Konzepten kann dabei helfen, die Effizienz und Lesbarkeit von regulären Ausdrücken zu verbessern. Dabei ist es wichtig, stets die Komplexität und Verständlichkeit im Blick zu behalten. Auch bei der Verwendung von regulären Ausdrücken gilt: weniger ist oft mehr!

    Reguläre Ausdrücke - Das Wichtigste

    • Reguläre Ausdrücke: Mächtiges Werkzeug zum Arbeiten mit Texten
    • Verwendung und Anwendung in Informatik und Programmierung
    • Validierung von Benutzereingaben als Hauptanwendungsfall
    • Ausdruckstest und Überprüfung zur Erzielung des gewünschten Ergebnisses
    • Eingebaute Unterstützung in Programmiersprachen wie Python und Java
    • Verwendung für Identifizierung und Verarbeitung von Zahlen und speziellen Zeichen
    • Wichtigkeit und Rolle in der Theoretischen Informatik, formellen Sprachen und Automatentheorie
    Lerne schneller mit den 10 Karteikarten zu Reguläre Ausdrücke

    Melde dich kostenlos an, um Zugriff auf all unsere Karteikarten zu erhalten.

    Reguläre Ausdrücke
    Häufig gestellte Fragen zum Thema Reguläre Ausdrücke
    Was ist ein regulärer Ausdruck?
    Ein regulärer Ausdruck ist eine Zeichenkette, die ein Muster definiert. Sie werden hauptsächlich in der Softwareentwicklung und -programmierung für Textmanipulationen und -suchen genutzt. Reguläre Ausdrücke können einfache Zeichen, Symbole oder spezielle Zeichenfolgenmuster umfassen.
    Was bedeuten reguläre Ausdrücke?
    Reguläre Ausdrücke sind Muster, die benutzt werden, um bestimmte Zeichenkombinationen in einem Text zu suchen, zu validieren oder zu manipulieren. Sie sind ein mächtiges Werkzeug in der textbasierten Datenverarbeitung und Programmierung.
    Wann ist ein Ausdruck regulär?
    Ein Ausdruck ist regulär, wenn er durch einen regulären Ausdruck dargestellt werden kann. Das heißt, er kann durch die Operationen Konkatenation, Vereinigung und Sternchenklammerung (null oder mehrere Wiederholungen eines Zeichens oder einer Zeichenkette) beschrieben werden.
    Was ist ein Beispiel für einen Ausdruck?
    Ein Beispiel für einen regulären Ausdruck ist "/ab+c/". In diesem Fall würde der reguläre Ausdruck jede Zeichenkette matchen, die mit einem "a" beginnt, gefolgt von einem oder mehreren "b", und mit einem "c" endet.
    Erklärung speichern

    Teste dein Wissen mit Multiple-Choice-Karteikarten

    Wie sieht ein regulärer Ausdruck aus, der eine E-Mail-Adresse validiert?

    Was sind einige Grundregeln für reguläre Ausdrücke?

    Was sind Reguläre Ausdrücke in der Informatik?

    Weiter

    Entdecke Lernmaterialien mit der kostenlosen StudySmarter App

    Kostenlos anmelden
    1
    Über StudySmarter

    StudySmarter ist ein weltweit anerkanntes Bildungstechnologie-Unternehmen, das eine ganzheitliche Lernplattform für Schüler und Studenten aller Altersstufen und Bildungsniveaus bietet. Unsere Plattform unterstützt das Lernen in einer breiten Palette von Fächern, einschließlich MINT, Sozialwissenschaften und Sprachen, und hilft den Schülern auch, weltweit verschiedene Tests und Prüfungen wie GCSE, A Level, SAT, ACT, Abitur und mehr erfolgreich zu meistern. Wir bieten eine umfangreiche Bibliothek von Lernmaterialien, einschließlich interaktiver Karteikarten, umfassender Lehrbuchlösungen und detaillierter Erklärungen. Die fortschrittliche Technologie und Werkzeuge, die wir zur Verfügung stellen, helfen Schülern, ihre eigenen Lernmaterialien zu erstellen. Die Inhalte von StudySmarter sind nicht nur von Experten geprüft, sondern werden auch regelmäßig aktualisiert, um Genauigkeit und Relevanz zu gewährleisten.

    Erfahre mehr
    StudySmarter Redaktionsteam

    Team Informatik Lehrer

    • 15 Minuten Lesezeit
    • Geprüft vom StudySmarter Redaktionsteam
    Erklärung speichern Erklärung speichern

    Lerne jederzeit. Lerne überall. Auf allen Geräten.

    Kostenfrei loslegen

    Melde dich an für Notizen & Bearbeitung. 100% for free.

    Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!

    Die erste Lern-App, die wirklich alles bietet, was du brauchst, um deine Prüfungen an einem Ort zu meistern.

    • Karteikarten & Quizze
    • KI-Lernassistent
    • Lernplaner
    • Probeklausuren
    • Intelligente Notizen
    Schließ dich über 22 Millionen Schülern und Studierenden an und lerne mit unserer StudySmarter App!
    Mit E-Mail registrieren