Python は、テキスト操作のための正規表現の使用をサポートする強力なプログラミング言語です。データ分析とテキスト処理があらゆる分野でますます一般的になるにつれて、正規表現のスキルを習得することは、ますます重要な基本スキルとなっています。この記事では、Python で正規表現を使用する方法を学びます。
Python で正規表現を使用するには、re モジュールをインポートする必要があります。もちろん、正規表現を使用する前に、まず正規表現の構文規則を理解しておく必要があります。ここでは、基本的な正規表現記号とその意味をいくつか示します。
Meaning | |
---|---|
改行文字を除く任意の文字と一致します | |
数字と一致します | |
数字以外の一致 | |
文字、数字、アンダースコア、または中国語の文字 | ##W |
s | |
S | |
空白文字以外の文字の先頭と一致します文字列 | |
文字列の末尾と一致します | |
0 個以上と一致します回 | |
1 回以上一致 | |
0 回または 1 回一致 | |
n 回完全一致 | |
n 回以上一致複数回 | |
m~n 回一致 | |
角かっこ内の任意の文字 (文字範囲、除外文字などを含む) と一致します。 | |
一致する部分文字列をキャプチャします | |
一致する部分文字列をキャプチャしません | |
正 正事前チェック | |
ポジティブネガティブ事前チェック | |
逆ポジティブ事前チェック | 逆ネガティブ事前チェック |
import re # 声明一个字符串 str1 = "hello world" # 定义正则表达式 pattern = "hello world" # 使用 re 模块进行匹配 result = re.search(pattern, str1) print(result.group())
hello world
# 定义正则表达式 pattern = r"w+($" # 使用 re 模块进行匹配 result = re.search(pattern, "I have a list (item1, item2).") print(result.group())
list(
# 定义正则表达式 pattern = r"https?://S+.w+(?<!/)$" # 使用 re 模块进行匹配 result = re.search(pattern, "Here is a link: https://www.google.com.") print(result.group())
https://www.google.com
複数の部分文字列の一致
テキスト内の複数の部分文字列の一致が必要な場合があります。この場合、findall 関数を使用できます。たとえば、文字列内のすべての電子メール アドレスを検索する場合、コードは次のようになります。# 定义正则表达式 pattern = r"w+@w+.w{2,3}" # 使用 re 模块进行匹配 result = re.findall(pattern, "Please contact me at alice@gmail.com or bob@hotmail.com") print(result)
['alice@gmail.com', 'bob@hotmail.com']
文字列を置き換えます
Python では正規表現を使用して文字列を置換することもできます。たとえば、文字列内のすべての数値を * 記号に置き換える場合、コードは次のようになります。# 定义正则表达式 pattern = r"d" # 使用 re 模块进行匹配和替换 result = re.sub(pattern, "*", "12345678") print(result)
********
概要
この記事の内容では、Python での正規表現の使い方の基本を学びました。正規表現を使用すると、テキスト処理の多くのタスクが容易になることに注意してください。正規表現の基本をマスターすることは、データ サイエンティスト、機械学習エンジニア、ソフトウェア開発者にとって不可欠なスキルです。以上がPython で正規表現を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。