【Python入門】正規表現のre.split()で区切り文字を使って文字列を分割する方法
re.split()メソッドとは
re.split(pattern, string, [maxsplit=0]) は、Pythonの正規表現モジュール re に含まれるメソッドで、指定したパターン(区切り文字)が文字列中に出現する箇所で文字列を分割し、リストとして返します。
基本的な使い方
まずは最もシンプルな例を見てみましょう。
import re result = re.split(r'a', 'Dynamics') print(result)
実行結果
['Dyn', 'mics']
この例では、文字列「Dynamics」を「a」を区切り文字として分割しています。結果として、「Dyn」と「mics」の2つの要素を持つリストが返されます。
maxsplit引数で分割回数を制御する
re.split() には「maxsplit」というオプション引数があります。デフォルト値は0で、この場合は可能な限り最大回数の分割が行われます。maxsplitに値を指定すると、指定した回数だけ分割が行われ、残りの部分はそのまま1つの要素になります。
maxsplitを指定しない場合
以下のコードでは、maxsplitを指定せずに文字列を分割しています。
import re result = re.split(r'a', 'Dynamics Kinematics') print(result)
実行結果
['Dyn', 'mics Kinem', 'tics']
「a」が2箇所に出現するため、文字列は3つに分割されました。
maxsplit=1を指定した場合
次に、maxsplitに1を指定した場合のコードです。
import re result = re.split(r'i', 'Dynamics Kinematics', maxsplit=1) print(result)
実行結果
['Dyn', 'mics Kinematics']
maxsplitを1に固定しているため、最初に出現した「i」の位置でのみ分割が行われ、結果は2つの要素だけになっています。maxsplitを指定しなかった前の例では3つの要素に分割されたことと比較すると、挙動の違いがよく分かります。
まとめ
re.split() を使えば、単純な文字だけでなく正規表現パターンを区切り文字として柔軟に文字列を分割できます。大量のテキストデータを処理する際や、複雑な区切りルールが必要な場面で非常に便利なメソッドなので、ぜひ活用してみてください。
-
Pythonの正規表現における修飾子(フラグ)の使い方と機能一覧
Python正規表現の修飾子とはPythonのreモジュールでは、正規表現によるパターンマッチングの挙動を制御するために、さまざまな修飾子(フラグ)を指定することができます。これらの修飾子を使うことで、大文字小文字の区別や改行の扱いなど、マッチングの動作を柔軟に変更できます。以下に、主要な修飾子とその機能を一覧形式で紹介します。1. re.I(re.IGNORECASE)大文字と小文字を区別せずにマッチングを行います。英字の大小を無視したい場合に便利です。2. re.L(re.LOCALE)現在のロケール設定に従って単語を解釈します。このフラグは、アルファベット系のグループ(\w および \W
-
Pythonの正規表現とは?基本の考え方と主な使い方をわかりやすく解説
正規表現とは何か 正規表現(Regular Expression)とは、文字列の中から特定のパターンを検索したり置換したりするために用いられる、文字の並び(パターン)のことです。シンプルに言えば、「文字列の中から目的のパターンを見つけ出し、必要に応じて書き換えるための記法」と理解するとよいでしょう。 正規表現はPythonだけでなく、Perl、R、Javaなど、ほとんどのプログラミング言語でサポートされており、テキスト処理における共通の基礎技術となっています。 正規表現が活躍する場面 正規表現は、ソースコード、ログファイル、スプレッドシート、さらにはドキュメントといったテキストデータから情報