Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Python-Ausdrücke, um chinesische und englische gemischte Zeichenfolgen abzugleichen

So verwenden Sie reguläre Python-Ausdrücke, um chinesische und englische gemischte Zeichenfolgen abzugleichen

WBOY
WBOYOriginal
2023-06-22 16:51:032402Durchsuche

Regulärer Ausdruck ist ein leistungsstarkes Textverarbeitungstool, mit dem wir Zeichenfolgen schnell zuordnen und ersetzen können. Im Szenario des gemischten chinesischen und englischen String-Matchings ist die Verwendung regulärer Ausdrücke besonders wichtig. In diesem Artikel wird erläutert, wie Sie reguläre Python-Ausdrücke verwenden, um gemischte chinesische und englische Zeichenfolgen abzugleichen.

1. Problem mit der String-Kodierung

Bevor Sie chinesische und englische gemischte Strings abgleichen, müssen Sie zunächst das Problem mit der String-Kodierung verstehen. In der Python 3.x-Version verwenden Zeichenfolgen standardmäßig die Unicode-Kodierung, was bedeutet, dass ein Zeichen in Python normalerweise durch eine Unicode-Kodierung dargestellt wird.

In praktischen Anwendungen stoßen wir aus historischen Gründen und technischen Einschränkungen häufig auf Zeichenfolgen anderer Kodierungstypen. Beispielsweise ist die in der chinesischen Umgebung verwendete Zeichenfolgenkodierung normalerweise GBK oder UTF-8. Um Zeichenfolgen unterschiedlicher Kodierung korrekt verarbeiten zu können, müssen die Zeichenfolgen vor der Verwendung regulärer Ausdrücke in eine einheitliche Kodierung konvertiert werden.

In Python können Sie die Methode encode() verwenden, um einen String in einen Byte-String mit einer bestimmten Codierung umzuwandeln, zum Beispiel:

str = "中文字符串"
encoded_str = str.encode('utf-8')

2. Grundlegende reguläre Ausdruckssyntax

Verwenden Sie reguläre Ausdrücke, um gemischte chinesische und englische Strings abzugleichen Dabei müssen Sie einige grundlegende reguläre Ausdruckssyntax beherrschen.

  1. Zeichenklasse[]

Eckige Klammern können mit jedem der Zeichen übereinstimmen, zum Beispiel:

[abc]  匹配字符a或b或c
[a-z]  匹配小写字母a~z中的任意一个字符
[A-Z]  匹配大写字母A~Z中的任意一个字符
[0-9]  匹配数字0~9中的任意一个字符
  1. Übereinstimmungsposition

^ entspricht dem Anfang der Zeichenfolge

$ entspricht dem Ende der Zeichenfolge

Übereinstimmung eine Wortgrenze

  1. Qualifikationsmerkmal
  • Übereinstimmung mit dem vorherigen Zeichen null oder mehrmals
  • Übereinstimmung mit dem vorherigen Zeichen ein- oder mehrmals

? Übereinstimmung mit dem vorherigen Zeichen null oder einmal

{n,m} Übereinstimmung Übereinstimmung das vorherige Zeichen mindestens n-mal und höchstens m-mal

{n,} stimmt mit dem vorherigen Zeichen mindestens n-mal überein

{n} stimmt nur n-mal mit dem vorherigen Zeichen überein

  1. Sonderzeichen

stimmt mit allem anderen überein als Newline-Zeichen Jedes Zeichen

Escape-Zeichen kann die folgenden Zeichen in Sonderzeichen umwandeln

| Oder es kann dem erfolgreichen Ergebnis eines beliebigen von mehreren Mustern entsprechen

() Gruppierung, Sie können mehrere Muster kombinieren, um ein komplexeres zu bilden Muster

3. Praktischer Kampf des chinesischen und englischen gemischten String-Matchings

Als nächstes werden wir anhand von Beispielen demonstrieren, wie man reguläre Python-Ausdrücke verwendet, um chinesische und englische gemischte Strings abzugleichen.

  1. Englische Zeichen abgleichen

Zunächst müssen wir die Groß- und Kleinschreibung rein englischer Zeichen abgleichen. In regulären Ausdrücken bedeutet a-zA-Z, dass alle Groß- und Kleinbuchstaben übereinstimmen. Daher müssen wir nur [a-zA-Z]+ verwenden, um ein oder mehrere englische Zeichen abzugleichen.

Wenn wir beispielsweise englische Zeichen in der Zeichenfolge „Hello World“ abgleichen möchten, können wir den folgenden Code verwenden:

import re

str = "Hello World"
pattern = '[a-zA-Z]+'
result = re.findall(pattern, str)

print(result)

Das Ausgabeergebnis lautet: [„Hello“, „World“] und zwei englische Wörter wurden erfolgreich abgeglichen .

  1. Chinesische Schriftzeichen zuordnen

Als nächstes lasst uns chinesische Schriftzeichen zuordnen. Da der Bereich chinesischer Zeichen relativ groß ist, können wir den Unicode-Codierungsbereich verwenden, um chinesische Zeichen abzugleichen. Der Unicode-Kodierungsbereich für Chinesisch ist u4e00-u9fa5, daher können wir [u4e00-u9fa5]+ verwenden, um ein oder mehrere chinesische Zeichen abzugleichen.

Wenn wir beispielsweise chinesische Zeichen in der Zeichenfolge „Hello World“ abgleichen möchten, können wir den folgenden Code verwenden:

import re

str = "你好世界"
pattern = '[u4e00-u9fa5]+'
result = re.findall(pattern, str)

print(result)

Das Ausgabeergebnis lautet: [„Hello“, „World“] und zwei chinesische Wörter wurden erfolgreich abgeglichen .

  1. Chinesische und englische Zeichen abgleichen

Zum Schluss noch eine gemischte Zeichenfolge aus chinesischen und englischen Zeichen abgleichen. Beim Abgleichen chinesischer und englischer Zeichenfolgen müssen Sie sowohl chinesische als auch englische Zeichen berücksichtigen. Daher können wir die Muster chinesischer und englischer Schriftzeichen kombinieren, um den folgenden regulären Ausdruck zu bilden:

pattern = '[a-zA-Z]+|[u4e00-u9fa5]+'

Dieser reguläre Ausdruck verwendet das |-Symbol, um die beiden Muster zu verbinden, die mit einem oder mehreren englischen Wörtern oder chinesischen Wörtern übereinstimmen können.

Wenn wir beispielsweise chinesische und englische Wörter in der Zeichenfolge „Hello Hello World 世界“ abgleichen möchten, können wir den folgenden Code verwenden:

import re

str = "Hello 你好 World 世界"
pattern = '[a-zA-Z]+|[u4e00-u9fa5]+'
result = re.findall(pattern, str)

print(result)

Das Ausgabeergebnis ist: ["Hello", "Hello", "World ", "世界"] hat vier chinesische und englische Wörter erfolgreich gefunden.

Zusammenfassung:

Oben erfahren Sie, wie Sie reguläre Python-Ausdrücke verwenden, um chinesische und englische gemischte Zeichenfolgen abzugleichen. Mit der oben genannten Methode können wir das Problem des gemischten chinesischen und englischen String-Matchings leicht lösen und eine effizientere und genauere Textverarbeitung durchführen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke, um chinesische und englische gemischte Zeichenfolgen abzugleichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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