RegEx: Extrahieren aller Telefonnummern aus Zeichenketten
Tuesday, September 14, 2021Manchmal kann ein Regex-Tool Ihnen aus dem verwirrenden Lernmaterial heraushelfen und das Schreiben von Regex sehr einfach machen. Dies ist eine schnelle Anleitung für Anfänger zum Extrahieren von Telefonnummern aus Zeichenketten.
Inhaltsübersicht
Wie schreibt man einen regulären Ausdruck
Beispiele für die Extraktion von Telefonen mit Regex
Was ist RegEx?
RedEx steht für regulären Ausdruck, das das Muster einer Zeichenkette beschreibt. Mit diesem für den Computer verständlichen Ausdruck sind wir in der Lage, die Daten zu finden, die diesem Muster entsprechen, und die gewünschten Informationen abzurufen.
"Ein regulärer Ausdruck (englisch regular expression, Abkürzung RegExp oder Regex) ist in der theoretischen Informatik eine Zeichenkette, die der Beschreibung von Mengen von Zeichenketten mithilfe bestimmter syntaktischer Regeln dient."
——Zitiert von Wikipedia.de
Wie können wir mithilfe eines regulären Ausdrucks Telefonnummern aus einem langen Text herausziehen?
Sie suchen zum Beispiel nach einer Möglichkeit, alle Telefonnummern auf einmal aus einem Text zu extrahieren. Der gesamte Text enthält zahlreiche Telefonnummern, die wahllos hier und da verstreut sind. Sie kennen sicher die Formel "CONTROL + F", die in den meisten Anwendungen eingebaut ist, um dem Benutzer zu helfen, eine bestimmte Datenfolge zu finden und zu markieren.
Wenn Sie einen Code mit regulären Ausdrücken schreiben können, der dasselbe Muster dieser Telefonnummern enthält, geben Sie diesen Code in einen Texteditor mit eingebauter Regex-Funktion ein, und die gesuchten Daten werden gefunden.
Wie schreibt man einen regulären Ausdruck?
Wenn Sie Telefonnummern mithilfe von regulären Ausdrücken extrahieren möchten, aber nicht wissen, wie man einen solchen Ausdruck schreibt, kann Ihnen dieser Artikel dabei helfen.
#Lernen Sie Grundlagen von RegEx
Es kostet Zeit, RegEx von Grund auf zu erlernen. Wenn Sie RegEx jedoch häufig bei Ihrer täglichen Arbeit verwenden und dadurch Ihre Produktivität erheblich steigern können, lohnt es dann die Mühe.
Ein guter Ausgangspunkt sind die JS RegEx-Tutorials in der W3School. Sie können auf der Website die grundlegende Syntax eines RegEx-Codes und die Grammatik der Modifikatoren und Quantoren lernen.
Da die Tutorials für absolute Neulinge ziemlich kompliziert sind, bieten wir in diesem Artikel eine einfachere Methode. Wenn Sie die Vorteile von RegEx auf einfache Weise nutzen wollen, ist ein RegEx-Tool genau das Richtige für Sie.
#Octoparses RegEx-Tool verwenden
Es gibt einige gebrauchsfertige Tools, die das Schreiben von RegEx vereinfachen können. Octoparse hat ein eingebautes RegEx-Tool, um diese Aufgabe zu erledigen.
Mit diesem einfach zu bedienenden Tool brauchen Sie sich nur darum zu kümmern, das Muster der gesuchten Telefonnummern im Text zu finden.
Beispiele für die Extraktion von Telefonnummern mit Regex
Es kann sich um mehrere Telefonnummern in einer einzigen großen Zeichenkette handeln, und diese Telefonnummern können in verschiedenen Formaten vorliegen. Hier ist ein Beispiel für das Dateiformat:
- (021)1234567
- (123) 456 7899
- (123).456.7899
- (123)-456-7899
- 123-456-7899
- 123 456 7899
- 1234567899
- 0511-4405222
- 021-87888822
- +8613012345678
- ...
Was ist die einfachste Methode, um Telefonnummer wie diese zu extrahieren? Jetzt verwenden wir das Tool, um reguläre Ausdrücke zu generieren und alle Telefonnummern schnell zu finden.
Finden Sie zunächst das gemeinsame Zeichen, mit dem jede Telefonnummer beginnt und endet. Zum Beispiel finde ich für den oben genannten Zieltext den unten dargestellten Quellcode.
<p>Hier ist ein Beispiel für ein Dateiformat </p>
<ul>
<li>(021)1234567 </li>
<li>(123) 456 7899 </li>
<li>(123).456.7899 </li>
<li>(123)-456-7899 </li>
<li>123-456-7899 </li>
<li>123 456 7899 </li>
<li>1234567899 </li>
<li>0511-4405222 </li>
<li>021-87888822 </li>
<li>+8613012345678 </li>
<li>... </li>
</ul>
Jede Telefonnummer beginnt mit <li> und endet mit </li>. Und wir können das RegEx-Tool in Octoparse verwenden, um schnell alle Telefonnummern zu extrahieren.
1. Starten Sie Octoparse und öffnen Sie das RegEx-Tool.
2. Kopieren Sie den Quellcode und fügen Sie ihn in das Feld "Quelltext" ein.
Wählen Sie dann die Option "Start mit" und geben Sie "<li>" ein.
3. Wählen Sie dann die Option "End With" und geben Sie "</li>" ein.
Vergessen Sie nicht, die Option "Match All" zu wählen.
4. Klicken Sie auf "Match".
Wenn Sie richtig eingestellt haben, werden alle übereinstimmenden Telefonnummern in dem Feld auf der linken Seite aufgelistet.
Wenn Sie jedoch das gemeinsame Zeichen, mit dem jede Telefonnummer beginnt und endet, nicht herausfinden können, reicht das Tool nicht aus, um einen Regex-Code zu generieren. In solcher Situation müssen Sie sich mit der Regex-Syntax besser auskennen und für jedes Muster einen eigenen regulären Ausdruck schreiben.
Ich habe zwei weitere reguläre Ausdrücke für zwei Formate von Telefonnummern aufgeschrieben.
- Regulärer Ausdruck:
Code: \d{3}-\d{8}|\d{4}-\d{7}
Match: 0511-4405222 | 021-87888822
- Regulärer Ausdruck:
Code: \(\d{2,4}\)\d{6,7}
Match: (021)1234567 | (0411)123456 | (000)000000 |(123)1234567
Der Schlüssel zu dieser Aufgabe besteht darin, ein Muster von Telefonnummern im Text zu finden und einen Regex-Code zu erstellen, der dieses Muster beschreibt.
Neben dem Extrahieren von Daten ist das Octoparse Regular Expression Tool auch bei der Datenbereinigung hilfreich.
Autor: Das Octoparse Team
- 9 kostenlose Web Scraper, die Sie im Jahr 2021 nicht verpassen können
- Scrapen Daten aus Website mit Excel (Tutorial 2020)
- 10 beste E-Mail-Scraping-Tools im Jahr 2020
- 10 beste Open Source Web Scraper im Jahr 2020
- Einfaches Web-Scraping mit Google Tabellen (aktualisiert 2020)
Beliebteste Beiträge
Beiträge nach Thema
Laden Sie Octoparse herunter, um mit Web-Scraping zu beginnen, oder kontaktieren Sie uns
für die Fragen über Web Scraping!