Heim Backend-Entwicklung Python-Tutorial So verwenden Sie reguläre Python-Ausdrücke für Datenstrukturen und Algorithmen

So verwenden Sie reguläre Python-Ausdrücke für Datenstrukturen und Algorithmen

Jun 22, 2023 pm 08:01 PM
数据结构 算法 python正则表达式

Der reguläre Python-Ausdruck ist ein auf Mustervergleich basierendes String-Verarbeitungstool, mit dem wir schnell und effizient die erforderlichen Informationen aus Text extrahieren können. In Datenstrukturen und Algorithmen können reguläre Ausdrücke verwendet werden, um Textabgleich, Ersetzung, Segmentierung und andere Funktionen zu implementieren und so unsere Programmierung leistungsfähiger zu unterstützen.

In diesem Artikel erfahren Sie, wie Sie reguläre Python-Ausdrücke für Datenstrukturen und Algorithmen verwenden.

1. Grundkenntnisse über reguläre Ausdrücke

Bevor Sie beginnen, lernen wir einige Grundkenntnisse über reguläre Ausdrücke:

  1. Zeichensatz: Wird durch eckige Klammern dargestellt und entspricht jedem Zeichen, das in den eckigen Klammern erscheint. Beispielsweise kann [abc] mit einem der drei Zeichen a, b und c übereinstimmen.
  2. Metazeichen: werden verwendet, um bestimmte Zeichen oder Zeichensätze abzugleichen. Beispielsweise kann . mit jedem Zeichen außer Zeilenumbrüchen übereinstimmen, und * kann mit einer beliebigen Anzahl von Zeichen (einschließlich 0) übereinstimmen.
  3. Locator: Wird zum Anpassen der Textposition verwendet. Beispielsweise entspricht ^ dem Anfang des Texts und $ dem Ende des Texts.
  4. Symbol für die Anzahl der Wiederholungen: Wird verwendet, um anzugeben, wie oft das vorherige Element abgeglichen werden muss. Beispielsweise bedeutet +, dass ein oder mehrere vorherige Elemente übereinstimmen, {n, m} bedeutet, dass n mit m vorherigen Elementen übereinstimmen.

2. Anwendung regulärer Ausdrücke in Datenstrukturen

In Datenstrukturen können reguläre Ausdrücke in den folgenden Szenarien verwendet werden:

  1. String-Übereinstimmung: Finden Sie Unterzeichen, die einem bestimmten Muster in einer Zeichenfolge entsprechen.
  2. String-Ersetzung: Ersetzen Sie den Teilstring, der einem bestimmten Muster in einem String entspricht, durch einen anderen String.
  3. Saitenaufteilung: Teilen Sie die Saite nach einem bestimmten Muster.

3. Beispiel: Verwenden Sie reguläre Ausdrücke, um ein Muster in einer Zeichenfolge zu finden.

Schauen wir uns ein konkretes Beispiel an, um eine Teilzeichenfolge zu finden, die mit einem Muster in einer Zeichenfolge übereinstimmt.

Angenommen, wir haben eine Zeichenfolge s und müssen alle Teilzeichenfolgen finden, die mit einer Zahl beginnen.

Importieren Sie zunächst das re-Modul:

import re
Nach dem Login kopieren

Dann definieren wir das Muster, das wir finden möchten. Hier ist eine Zeichenfolge, die mit einer Zahl beginnt, die durch „^d+“ dargestellt werden kann, wobei ^ bedeutet, dass es mit dem Anfang von übereinstimmt Zeichenfolge, d+ bedeutet, dass eine oder mehrere Zahlen übereinstimmen. Der Code lautet wie folgt:

pattern = r'^d+'
Nach dem Login kopieren

Als nächstes verwenden Sie die Methode re.findall, um das Teilstring-Übereinstimmungsmuster in der Zeichenfolge s zu finden. Der Code lautet wie folgt:

result = re.findall(pattern, s)
Nach dem Login kopieren

Die Methode re.findall gibt hier eine Übereinstimmungsliste zurück, die alle enthält passende Teilzeichenfolgen. Schließlich können wir das gefundene Ergebnis ausgeben:

print(result)
Nach dem Login kopieren

Der vollständige Code lautet wie folgt:

import re

s = "123abc456def789"

pattern = r'^d+'
result = re.findall(pattern, s)

print(result)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

['123', '456', '789']
Nach dem Login kopieren

IV. Beispiel: Verwenden Sie reguläre Ausdrücke, um Zeichenfolgen zu ersetzen

Zusätzlich zum Finden einer Übereinstimmung im string Neben Teilstrings von Mustern können auch reguläre Ausdrücke zum Ersetzen von Strings verwendet werden.

Angenommen, wir haben eine Zeichenfolge s und müssen alle Leerzeichen darin durch Unterstriche ersetzen.

Ähnlich definieren wir zunächst das Muster, das wir finden möchten, in diesem Fall ein Leerzeichen, dargestellt durch „s+“.

Dann verwenden Sie die re.sub-Methode, um die Zeichenfolge zu ersetzen:

import re

s = "Hello world, welcome to Python!"

pattern = r's+'
replace_with = '_'

result = re.sub(pattern, replace_with, s)

print(result)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

Hello_world,_welcome_to_Python!
Nach dem Login kopieren

5. Verwenden Sie zusätzlich zum String-Matching reguläre Ausdrücke Ersatz können reguläre Ausdrücke auch zum Teilen von Zeichenfolgen verwendet werden.

Angenommen, wir haben eine Zeichenfolge s, die mehrere Sätze enthält, und wir müssen sie nach Punkten aufteilen.

Ähnlich definieren wir zunächst das Muster, das wir finden möchten, in diesem Fall ein Punkt, dargestellt durch „.“

Dann verwenden Sie die re.split-Methode, um die Zeichenfolge zu teilen. Der Code lautet wie folgt:

import re

s = "Hello. My name is John. What is your name?"

pattern = r'.'
result = re.split(pattern, s)

print(result)
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

['Hello', ' My name is John', ' What is your name?']
Nach dem Login kopieren

6. Zusammenfassung

Der reguläre Python-Ausdruck ist ein sehr leistungsfähiges Tool zur Zeichenfolgenverarbeitung in den Daten Struktur und Algorithmen sind ebenfalls weit verbreitet. Die Beherrschung der Grundkenntnisse der regulären Python-Ausdrücke und der geschickte Einsatz verschiedener Methoden können unsere Programmierung effizienter und flexibler machen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für Datenstrukturen und Algorithmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CLIP-BEVFormer: Überwacht explizit die BEVFormer-Struktur, um die Leistung der Long-Tail-Erkennung zu verbessern CLIP-BEVFormer: Überwacht explizit die BEVFormer-Struktur, um die Leistung der Long-Tail-Erkennung zu verbessern Mar 26, 2024 pm 12:41 PM

Oben geschrieben und das persönliche Verständnis des Autors: Derzeit spielt das Wahrnehmungsmodul im gesamten autonomen Fahrsystem eine entscheidende Rolle Das Steuermodul im autonomen Fahrsystem trifft zeitnahe und korrekte Urteile und Verhaltensentscheidungen. Derzeit sind Autos mit autonomen Fahrfunktionen in der Regel mit einer Vielzahl von Dateninformationssensoren ausgestattet, darunter Rundumsichtkamerasensoren, Lidar-Sensoren und Millimeterwellenradarsensoren, um Informationen in verschiedenen Modalitäten zu sammeln und so genaue Wahrnehmungsaufgaben zu erfüllen. Der auf reinem Sehen basierende BEV-Wahrnehmungsalgorithmus wird von der Industrie aufgrund seiner geringen Hardwarekosten und einfachen Bereitstellung bevorzugt, und seine Ausgabeergebnisse können problemlos auf verschiedene nachgelagerte Aufgaben angewendet werden.

Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Jun 03, 2024 pm 01:25 PM

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Apr 02, 2024 pm 05:36 PM

Die unterste Ebene der C++-Sortierfunktion verwendet die Zusammenführungssortierung, ihre Komplexität beträgt O(nlogn) und bietet verschiedene Auswahlmöglichkeiten für Sortieralgorithmen, einschließlich schneller Sortierung, Heap-Sortierung und stabiler Sortierung.

Verbesserter Erkennungsalgorithmus: zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern Verbesserter Erkennungsalgorithmus: zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern Jun 06, 2024 pm 12:33 PM

01Ausblicksübersicht Derzeit ist es schwierig, ein angemessenes Gleichgewicht zwischen Detektionseffizienz und Detektionsergebnissen zu erreichen. Wir haben einen verbesserten YOLOv5-Algorithmus zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern entwickelt, der mehrschichtige Merkmalspyramiden, Multierkennungskopfstrategien und hybride Aufmerksamkeitsmodule verwendet, um die Wirkung des Zielerkennungsnetzwerks in optischen Fernerkundungsbildern zu verbessern. Laut SIMD-Datensatz ist der mAP des neuen Algorithmus 2,2 % besser als YOLOv5 und 8,48 % besser als YOLOX, wodurch ein besseres Gleichgewicht zwischen Erkennungsergebnissen und Geschwindigkeit erreicht wird. 02 Hintergrund und Motivation Mit der rasanten Entwicklung der Fernerkundungstechnologie wurden hochauflösende optische Fernerkundungsbilder verwendet, um viele Objekte auf der Erdoberfläche zu beschreiben, darunter Flugzeuge, Autos, Gebäude usw. Objekterkennung bei der Interpretation von Fernerkundungsbildern

Vergleichen Sie komplexe Datenstrukturen mithilfe des Java-Funktionsvergleichs Vergleichen Sie komplexe Datenstrukturen mithilfe des Java-Funktionsvergleichs Apr 19, 2024 pm 10:24 PM

Bei der Verwendung komplexer Datenstrukturen in Java wird Comparator verwendet, um einen flexiblen Vergleichsmechanismus bereitzustellen. Zu den spezifischen Schritten gehören: Definieren einer Komparatorklasse und Umschreiben der Vergleichsmethode, um die Vergleichslogik zu definieren. Erstellen Sie eine Komparatorinstanz. Verwenden Sie die Methode „Collections.sort“ und übergeben Sie die Sammlungs- und Komparatorinstanzen.

Kann künstliche Intelligenz Kriminalität vorhersagen? Entdecken Sie die Möglichkeiten von CrimeGPT Kann künstliche Intelligenz Kriminalität vorhersagen? Entdecken Sie die Möglichkeiten von CrimeGPT Mar 22, 2024 pm 10:10 PM

Die Konvergenz von künstlicher Intelligenz (KI) und Strafverfolgung eröffnet neue Möglichkeiten zur Kriminalprävention und -aufdeckung. Die Vorhersagefähigkeiten künstlicher Intelligenz werden häufig in Systemen wie CrimeGPT (Crime Prediction Technology) genutzt, um kriminelle Aktivitäten vorherzusagen. Dieser Artikel untersucht das Potenzial künstlicher Intelligenz bei der Kriminalitätsvorhersage, ihre aktuellen Anwendungen, die Herausforderungen, denen sie gegenübersteht, und die möglichen ethischen Auswirkungen der Technologie. Künstliche Intelligenz und Kriminalitätsvorhersage: Die Grundlagen CrimeGPT verwendet Algorithmen des maschinellen Lernens, um große Datensätze zu analysieren und Muster zu identifizieren, die vorhersagen können, wo und wann Straftaten wahrscheinlich passieren. Zu diesen Datensätzen gehören historische Kriminalstatistiken, demografische Informationen, Wirtschaftsindikatoren, Wettermuster und mehr. Durch die Identifizierung von Trends, die menschliche Analysten möglicherweise übersehen, kann künstliche Intelligenz Strafverfolgungsbehörden stärken

Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform May 09, 2024 am 09:01 AM

1. Hintergrund des Baus der 58-Portrait-Plattform Zunächst möchte ich Ihnen den Hintergrund des Baus der 58-Portrait-Plattform mitteilen. 1. Das traditionelle Denken der traditionellen Profiling-Plattform reicht nicht mehr aus. Der Aufbau einer Benutzer-Profiling-Plattform basiert auf Data-Warehouse-Modellierungsfunktionen, um Daten aus mehreren Geschäftsbereichen zu integrieren, um genaue Benutzerporträts zu erstellen Und schließlich muss es über Datenplattformfunktionen verfügen, um Benutzerprofildaten effizient zu speichern, abzufragen und zu teilen sowie Profildienste bereitzustellen. Der Hauptunterschied zwischen einer selbst erstellten Business-Profiling-Plattform und einer Middle-Office-Profiling-Plattform besteht darin, dass die selbst erstellte Profiling-Plattform einen einzelnen Geschäftsbereich bedient und bei Bedarf angepasst werden kann. Die Mid-Office-Plattform bedient mehrere Geschäftsbereiche und ist komplex Modellierung und bietet allgemeinere Funktionen. 2.58 Benutzerporträts vom Hintergrund der Porträtkonstruktion im Mittelbahnsteig 58

Java-Datenstrukturen und -Algorithmen: ausführliche Erklärung Java-Datenstrukturen und -Algorithmen: ausführliche Erklärung May 08, 2024 pm 10:12 PM

Datenstrukturen und Algorithmen sind die Grundlage der Java-Entwicklung. In diesem Artikel werden die wichtigsten Datenstrukturen (wie Arrays, verknüpfte Listen, Bäume usw.) und Algorithmen (wie Sortier-, Such-, Diagrammalgorithmen usw.) ausführlich untersucht. Diese Strukturen werden anhand praktischer Beispiele veranschaulicht, darunter die Verwendung von Arrays zum Speichern von Bewertungen, verknüpfte Listen zum Verwalten von Einkaufslisten, Stapel zum Implementieren von Rekursionen, Warteschlangen zum Synchronisieren von Threads sowie Bäume und Hash-Tabellen für schnelle Suche und Authentifizierung. Wenn Sie diese Konzepte verstehen, können Sie effizienten und wartbaren Java-Code schreiben.

See all articles