一般に正規表現として知られる正規表現は、パターン マッチングとテキスト操作のための強力なツールです。これにより、開発者は文字列を正確に検索、照合、操作できるようになります。このブログ投稿では、顧客検証関数の実際の例を通じて、Python で正規表現がどのように使用されるかを探っていきます。
顧客情報、特に氏名、携帯番号を検証する必要があるシナリオを考えてみましょう。次のコード スニペットは、Python クラスで携帯電話番号を検証するために正規表現がどのように使用されるかを示しています。
from sqlalchemy.orm import validates import re class Customer: @validates('first_name', 'last_name', 'mobile') def validate(self, key, value): if key == 'first_name' or key == 'last_name': if len(value) == 0: raise ValueError(f'Server validation error: No {"first name" if key == "first_name" else "last name"}') elif key == 'mobile': mobile = r"((([\(]?[0-9]{3,4}[\)]\s?)|([0-9]{3,4}[\-]))[0-9]{3,4}[\-][0-9]{4})|([0-9]{10,12})" mobile_regex = re.compile(mobile) if not mobile_regex.fullmatch(value): raise ValueError('Server validation error: Invalid mobile number') return value
検証メソッドでは、正規表現を使用して、顧客が提供した携帯電話番号が特定の形式に従っていることを確認します。使用される正規表現パターンを詳しく見てみましょう:
mobile = r"((([\(]?[0-9]{3,4}[\)]\s?)|([0-9]{3,4}[\-]))[0-9]{3,4}[\-][0-9]{4})|([0-9]{10,12})"
括弧とハイフン:
([(]?[0-9]{3,4}[)]s?): 正規表現のこの部分は、オプションの開き括弧 (その後に 3 桁または 4 桁の数字、オプションの閉じ括弧)、およびオプションの右括弧と一致します。スペース。
([0-9]{3,4}[-]): この部分は、ハイフン - が後に続く 3 桁または 4 桁の数字と一致します。
代表番号:
[0-9]{3,4}[-][0-9]{4}: この部分は、3 桁または 4 桁、ハイフン、その後の 4 桁に一致します。
代替形式:
([0-9]{10,12}):
この部分は 10 ~ 12 桁のシーケンスと一致するため、区切り文字のない、よりコンパクトな携帯電話番号形式が可能になります。
正規表現パターンは re.compile(mobile) を使用してコンパイルされ、fullmatch メソッドを使用して文字列全体がパターンに一致するかどうかがチェックされます。
mobile_regex = re.compile(mobile) if not mobile_regex.fullmatch(value): raise ValueError('Server validation error: Invalid mobile number')
携帯電話番号が正規表現パターンと一致しない場合は、無効な携帯電話番号を示す ValueError が発生します。
正規表現は、文字列の検証と操作のための多用途ツールです。この例では、正規表現を使用して携帯電話番号を検証し、特定の形式に準拠していることを確認しました。正規表現を理解して利用することで、開発者は複雑な文字列操作を簡単かつ正確に実行できます。
ユーザー入力の検証、テキスト内のパターンの検索、またはテキスト操作の実行のいずれの場合でも、正規表現はニーズに合わせた堅牢なソリューションを提供します。コーディングを楽しんでください!
以上がPython での正規表現の理解: 実践的な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。