バックエンド開発に Python 正規表現を使用する方法

王林
リリース: 2023-06-22 17:21:07
オリジナル
1228 人が閲覧しました

バックエンド開発では、データ処理と情報抽出が非常に重要です。正規表現は、バックエンド開発をより効率的に行うのに役立つ強力なデータ処理および情報抽出ツールです。この記事では、バックエンド開発で Python 正規表現を使用する方法を紹介します。

1. 正規表現の基礎知識

正規表現 (正規表現とも呼ばれる) は、文字パターンを記述するためのツールです。大量のテキスト データを迅速に分析するのに役立ちます。必要な情報を正確に照合します。 。

正規表現は通常、文字、演算子、メタキャラクタで構成されます。特殊文字とメタキャラクタは、文字の種類または一致ルールの種類を表すことができます。以下は、一般的な正規表現メタ文字のリストです。

##エスケープ文字.改行文字を除く任意の文字と一致します^ 文字列の先頭と一致します $ 文字列の末尾と一致します #[][^]*?{}()2. Python での正規表現のアプリケーション
メタ文字 一致する文字
文字セット
非文字セット
前の文字と 0 回以上一致します
前の文字と 1 回以上一致します
前の文字と 0 回または 1 回一致します
前の文字と指定された回数一致します
の左または右の式と一致します。括弧内の一致表現は、キャプチャ グループも表します

re モジュールは Python に組み込まれており、完全な正規表現を提供します。式のサポート、データ処理、情報抽出を簡単に実行できます。

文字列内の数値の照合
  1. d メタ文字を使用して数値を照合したり、複数の数値を照合したりできます。
import re

text = "John has 2 apples, and Jane has 3 oranges."

result = re.findall(r'd+', text)

print(result)
ログイン後にコピー

出力結果は次のとおりです。 :

['2', '3']
ログイン後にコピー

電子メール アドレスの一致
  1. 電子メール ユーザー名と一致させるには [A-Za-z0-9._% -] を使用できます。@[A-Za] を使用します- z0-9.-] .[A-Za-z]{2,} 電子メール ドメイン名と一致します:
import re

text = "My email address is john@example.com."

result = re.findall(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}', text)

print(result)
ログイン後にコピー

出力結果は次のとおりです:

['john@example.com']
ログイン後にコピー

ハイパーリンクと一致しますHTML
  1. 1 href="(.?)"1# を使用できます。 ##> HTML 内のハイパーリンクの一致:

    import re
    
    html = """
    <a href="https://www.google.com">Google</a>,
    <a href="https://www.baidu.com">Baidu</a>,
    <a href="https://www.sogou.com">Sogou</a>,
    """
    
    result = re.findall(r'<a[^>]+href="(.*?)"[^>]*>', html)
    
    print(result)
    ログイン後にコピー
    出力結果は次のとおりです:
    ['https://www.google.com', 'https://www.baidu.com', 'https://www.sogou.com']
    ログイン後にコピー
    3. 正規表現の最適化スキル

    正規表現は非常に強力ですが、しかし、ビッグデータ処理や複雑なマッチングとなると、効率が比較的低くなる可能性があります。したがって、より高速なマッチング速度を実現するには、正規表現の記述方法を最適化する必要があります。

    文字のグループを照合する場合は、文字セット [] を使用して指定した文字を置き換えます。

    1. たとえば、[A-Za-z0-9] を使用できます。 [ A-Z]|[a-z]|[0-9] の代わりに、正規表現の文字数を減らし、一致速度を最適化できます。

    貪欲モードの使用を避ける

    1. 貪欲モードとは、できるだけ多くの文字に一致するパターンを指します。たとえば、文字列「hello world」の「hell」と一致する場合、.
    2. は「o wor」と貪欲に一致するため、re.findall(r'he.
    l', text) は「hello worl」と一致します。これは私たちが見たくない結果です。貪欲モードを回避するには、.

    の後に ? を追加し、re.findall(r'he.?l', text) などの遅延モードを使用します。 生の文字列を使用する

    1. 正規表現にはバックスラッシュ () が含まれることがよくあります。生の文字列を使用しない場合、バックスラッシュはエスケープ文字として解釈されます。したがって、通常は、re.findall(r'
    4. 概要

    バックエンド開発において、正規表現はデータ処理や情報抽出に役立ち、開発効率を向上させる非常に重要なツールです。この記事では、Python における正規表現の基礎知識とその応用、最適化のヒントを紹介しますので、読者の皆様のお役に立てれば幸いです。

    >

    以上がバックエンド開発に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!