So verwenden Sie eine reguläre Rückreferenz
Dieses Mal zeige ich Ihnen, wie Sie reguläre Rückverweise verwenden und welche Vorsichtsmaßnahmen bei der Verwendung regulärer Rückverweise gelten. Hier ist ein praktischer Fall, werfen wir einen Blick darauf.
In allen Beispielen ist das Übereinstimmungsergebnis regulärer Ausdruck zwischen [und] im Quelltext enthalten. Einige Beispiele werden mit Java implementiert, wenn es sich um einen regulären Ausdruck in Java handelt selbst Die Verwendung von Ausdrücken wird an den entsprechenden Stellen erläutert. Alle Java-Beispiele werden unter JDK1.6.0_13 getestet.
1. Problemeinführung
Ein Problem beim Abgleichen von Titel-Tags (H1-H6) in HTML-Seiten:
Text:
<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
Regulärer Ausdruck: <[hH][1-6]>.*?[hH][1-6]>
Ergebnis:
【
Willkommen auf meiner Seite
】Der Inhalt ist in zwei Abschnitte unterteilt:【
Einführung
】Informationen über mich.【
Hobby
】Informationen über mein Hobby.【
Dies ist ungültiges HTML】
Analyse: Muster <[hH][1-6]> stimmt mit jedem Titel der ersten Ebene überein Beim Start-Tag wird die Groß-/Kleinschreibung nicht beachtet. , ; Lazy-Metazeichen werden hier verwendet, um den Text in den Tags abzugleichen, andernfalls wird der Inhalt vom ersten Start-Tag bis zum letzten End-Tag abgeglichen. Aus den Ergebnissen geht jedoch hervor, dass auch ein ungültiges Tag, nämlich
, abgeglichen wird und überhaupt nicht abgeglichen werden kann. Um dieses Problem zu lösen, müssen Sie eine Rückreferenz verwenden.
2. Rückverweisübereinstimmung
Rückverweis bedeutet, dass die zweite Hälfte des Musters auf den in der ersten Hälfte definierten Unterausdruck verweist. Die Verwendung, Unterteilung und Referenzierung von Unterausdrücken wurde bereits früher eingeführt. Lösen wir nun das vorherige Beispiel:
Text:
<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
Regulärer Ausdruck: <[hH]([1-6])>.*?< [hH]1>
Ergebnis:
【
Willkommen auf meiner Seite
】 Inhalt ist in zwei Abschnitte unterteilt:【
Einführung
】Informationen über mich.【
Hobby
】Informationen zu meinem Hobby.Dies ist ungültiges HTML
Analyse: Passen Sie zuerst das Muster des Starttitel-Tags an<[hH]([1-6 ] )>, verwenden Sie Klammern, um [1-6] als Unterausdruck zu behandeln, und das passende Endtitel-Tag-Muster ist [hH]1>, wobei 1 bedeutet, dass auf den ersten Unterausdruck verwiesen wird, also ([1- 6). ]), wenn ([1-6]) mit 1 übereinstimmt, dann stimmt 1 auch mit 1 überein, wenn es mit 2 übereinstimmt, dann stimmt 1 auch mit 2 überein, sodass das letzte ungültige Titel-Tag nicht übereinstimmt.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website !
Empfohlene Lektüre:
Wie schreibe ich reguläre Ausdrücke, um eine Gruppe von Zeichen abzugleichen?
Detaillierte Erklärung des Positionsabgleichs von reguläre Ausdrücke
Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine reguläre Rückreferenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In iOS 17 und macOS Sonoma hat Apple neue Formatierungsoptionen für Apple Notes hinzugefügt, darunter Anführungszeichen und einen neuen Monostyle-Stil. Hier erfahren Sie, wie Sie sie verwenden. Mit zusätzlichen Formatierungsoptionen in Apple Notes können Sie Ihren Notizen jetzt Anführungszeichen hinzufügen. Das Format der Blockzitate erleichtert das visuelle Versetzen von Textabschnitten mithilfe der Anführungszeichenleiste links vom Text. Tippen/klicken Sie einfach auf die Formatschaltfläche „Aa“ und wählen Sie die Option „Blockzitat“ aus, bevor Sie etwas eingeben oder wenn Sie sich in der Zeile befinden, die Sie in ein Blockzitat umwandeln möchten. Diese Option gilt für alle Texttypen, Stiloptionen und Listen, einschließlich Checklisten. Im selben Menü „Format“ finden Sie die neue Option „Einzelstil“. Dies ist eine Überarbeitung der vorherigen „gleichbreiten“

C++ ist eine beliebte Programmiersprache, aber während der Verwendung tritt häufig der Kompilierungsfehler „undefinierte Referenz“ auf, der große Probleme bei der Programmentwicklung mit sich bringt. In diesem Artikel wird die Lösung des Fehlers „Undefinierte Referenz“ sowohl hinsichtlich der Ursache als auch der Lösung erläutert. 1. Fehlerursache Wenn der C++-Compiler eine Quelldatei kompiliert, wird diese in zwei Phasen unterteilt: die Kompilierungsphase und die Verknüpfungsphase. Die Kompilierungsphase wandelt den Quellcode in den Quelldateien in Assemblercode um, während die Verknüpfungsphase verschiedene Quelldateien zu einer ausführbaren Datei kombiniert.

Zu den Vorteilen von Funktionen, die Referenztypen in C++ zurückgeben, gehören: Leistungsverbesserungen: Durch die Übergabe als Referenz wird das Kopieren von Objekten vermieden, wodurch Speicher und Zeit gespart werden. Direkte Änderung: Der Aufrufer kann das zurückgegebene Referenzobjekt direkt ändern, ohne es neu zuzuweisen. Einfachheit des Codes: Die Übergabe als Referenz vereinfacht den Code und erfordert keine zusätzlichen Zuweisungsvorgänge.

Referenzen und Zeiger sind in C++ beide Methoden zur Übergabe von Funktionsparametern, es gibt jedoch Unterschiede. Eine Referenz ist ein Alias für eine Variable. Durch Ändern der Referenz wird die ursprüngliche Variable geändert, während der Zeiger die Adresse der Variablen speichert. Wenn Sie sich für die Verwendung einer Referenz oder eines Zeigers entscheiden, müssen Sie Faktoren berücksichtigen, z. B. ob die ursprüngliche Variable geändert werden muss, ob ein Nullwert übergeben werden muss, und Leistungsaspekte.

C++ ist eine objektorientierte Programmiersprache und ihre Flexibilität und Leistungsfähigkeit stellen für Programmierer oft eine große Hilfe dar. Doch gerade aufgrund seiner Flexibilität lassen sich diverse kleine Fehler bei der Programmierung nur schwer vermeiden. Einer der häufigsten Fehler besteht darin, dass eine Funktion, wenn sie einen Zeiger oder eine Referenz zurückgibt, keine lokale Variable oder kein temporäres Objekt zurückgeben kann. Wie also mit diesem Problem umgehen? In diesem Artikel werden die relevanten Inhalte im Detail vorgestellt. Die Ursache des Problems liegt darin, dass in der Sprache C++ lokale Variablen und temporäre Objekte während der Ausführung der Funktion dynamisch zugewiesen werden. Wenn die Funktion endet, sind diese lokalen und temporären Variablen

Durch die Verwendung von Zeigern und Referenzen kann die Speichernutzung in C++ optimiert werden: Zeiger: Speichern Adressen anderer Variablen und können auf andere Variablen verweisen, wodurch Speicher gespart wird, aber möglicherweise wilde Zeiger generiert werden. Referenz: Alias für eine andere Variable, zeigt immer auf dieselbe Variable, generiert keine Platzhalter und ist für Funktionsparameter geeignet. Die Optimierung der Speichernutzung kann die Effizienz und Leistung des Codes verbessern, indem unnötige Kopien vermieden, Speicherzuweisungen reduziert und Platz gespart werden.

Wie sind die Beschäftigungsaussichten der klinischen Pharmazie an der Harbin Medical University? Obwohl die Beschäftigungssituation im Land nicht optimistisch ist, haben Absolventen der Pharmazie immer noch gute Beschäftigungsaussichten. Insgesamt ist das Angebot an Pharmaabsolventen geringer als die Nachfrage. Pharmaunternehmen und Pharmafabriken sind die Hauptkanäle für die Aufnahme solcher Absolventen. Auch die Nachfrage nach Talenten in der Pharmaindustrie wächst stetig. Berichten zufolge hat das Angebot-Nachfrage-Verhältnis für Doktoranden in den Hauptfächern Pharmazeutische Präparate und Naturmedizinische Chemie in den letzten Jahren sogar 1:10 erreicht. Beschäftigungsrichtung des Hauptfachs „Klinische Pharmazie“: Nach dem Abschluss können Studierende des Hauptfachs „Klinische Medizin“ in medizinischen und Gesundheitsabteilungen, in der medizinischen Forschung und anderen Abteilungen in der medizinischen Behandlung, Prävention, medizinischen Forschung usw. tätig werden. Beschäftigungspositionen: Medizinischer Vertreter, Pharma-Vertriebsmitarbeiter, Vertriebsmitarbeiter, Vertriebsleiter, Regionaler Vertriebsleiter, Investmentmanager, Produktmanager, Produktspezialist, Krankenpfleger

Die Übergabe konstanter Referenzparameter stellt die Unveränderlichkeit der Parameter innerhalb einer Funktion sicher und hat die folgenden Vorteile: Unveränderlichkeit der Parameter: Eine Funktion kann konstante Referenzparameter nicht ändern. Verbesserte Effizienz: Keine Notwendigkeit, Kopien von Parametern zu erstellen. Fehlererkennung: Der Versuch, einen konstanten Referenzparameter zu ändern, löst einen Fehler bei der Kompilierung aus.
