文字列マッチングに Python 正規表現を使用する方法

WBOY
リリース: 2023-06-23 10:17:01
オリジナル
24190 人が閲覧しました

正規表現は、文字列の照合、抽出、置換操作を簡単に実行できる強力な文字列処理ツールです。 Python では、re モジュールによって提供される関数とメソッドを使用して、正規表現関連の操作を実装できます。この記事では、Python の正規表現を使って文字列のマッチングを行う方法を紹介します。

1. 基本的な正規表現構文

Python 正規表現を使用する場合、いくつかの基本的な構文ルールを理解する必要があります。一般的に使用される正規表現の記号と意味を次に示します。

  1. ^: 文字列の先頭と一致します。
  2. $: 文字列の末尾と一致します。
  3. .: 任意の文字と一致します。
  4. ##: 直前の文字と 0 回以上一致します。
  5. : 前の文字と 1 回以上一致します。
  6. ?: 前の文字と 0 回または 1 回一致します。
  7. []: 括弧内にリストされている任意の文字と一致します。
  8. [^]: 括弧内にリストされている文字を除く任意の文字と一致します。
  9. (): 部分式の始まりと終わりをマークします。
たとえば、^ と $ を使用すると、文字列全体と正確に一致します:

import re

pattern = "^hello$"
string = "hello"
result = re.match(pattern, string)
print(result)
ログイン後にコピー

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

<re.Match object; span=(0, 5), match='hello'>
ログイン後にコピー

上記のコードでは、^hello$その意味は、hello で始まり、hello で終わる文字列と一致することです。 string はこの条件を正確に満たしているため、re.match は match オブジェクトを返します。一致が失敗した場合、戻り値は None になります。

2. re.match 関数

re.match 関数は、指定された文字列の先頭にある正規表現と照合できます。照合が成功した場合は一致するオブジェクトを返し、そうでない場合は一致するオブジェクトを返します。なしを返します。以下は re.match の使用例です。

import re

pattern = "^hello$"
string = "hello, world!"
result = re.match(pattern, string)

if result:
    print("匹配成功")
else:
    print("匹配失败")
ログイン後にコピー

上記のコードでは、文字列 string が正規表現パターンの条件を満たしていないため、re.match は None を返し、出力結果は「match」になります。失敗した" 。

3. re.search 関数

re.search 関数は、文字列全体の正規表現と一致することができ、一致した場合は一致するオブジェクトを返し、そうでない場合は None を返します。以下は re.search の使用例です。

import re

pattern = "world"
string = "hello, world!"
result = re.search(pattern, string)

if result:
    print("匹配成功")
else:
    print("匹配失败")
ログイン後にコピー

上記のコードでは、文字列 string に world 部分文字列が含まれているため、re.search は一致するオブジェクトを返し、出力結果は「一致成功」になります。

4. re.findall 関数

re.findall 関数は、文字列全体の正規表現に一致するすべての部分文字列を含むリストを返すことができます。 re.findall の使用例を次に示します。

import re

pattern = "d+"
string = "hello, 123 world! 456"
result = re.findall(pattern, string)

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

上記のコードでは、正規表現 d は 1 つ以上の数値と一致するため、re.findall は 123 と 456 を含むリストを返します。

5. re.sub 関数

re.sub 関数は、正規表現に一致するすべての部分文字列を指定された文字列に置き換えることができます。以下は re.sub の使用例です。

import re

pattern = "d+"
string = "hello, 123 world! 456"
result = re.sub(pattern, "number", string)

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

上記のコードでは、正規表現 d は 1 つ以上の数値と一致するため、re.sub は 123 と 456 の両方を文字列「number」に置き換えます。

6. re.split 関数

re.split 関数は、正規表現を使用して文字列を分割できます。以下は re.split の使用例です:

import re

pattern = "s+"
string = "hello, world!"
result = re.split(pattern, string)

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

上記のコードでは、正規表現 s は 1 つ以上のスペースと一致するため、re.split は文字列内のスペースを区切り文字として使用します。文字列を入力し、最後に 2 つの文字列 ["hello,", "world!"] を出力します。

7. 概要

この記事では、文字列マッチングに Python 正規表現を使用する方法を紹介します。基本的な正規表現構文と re モジュールが提供する関数とメソッドを習得することで、文字列処理とテキスト マイニングをより効率的に実行できるようになります。正規表現では特殊文字が使用されることが多く、エスケープする必要があることに注意してください。エスケープしないと、予期しないエラーが発生します。正規表現の詳細については、関連するチュートリアルとドキュメントを参照してください。

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

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