Pythonサンプルコード集

正規表現でスペースを記述する方法+Pythonサンプルコード

本記事では正規表現でスペースを記述する方法について説明します。

スペースはそのまま記述した場合でも正規表現でマッチさせることは可能です。
しかし、全角と半角を別の文字として扱われるので両方マッチさせたい場合は特殊文字「/s」と記述する必要があります。

本記事の内容は以下の通り。

・正規表現でスペースを使う方法
・Pythonで正規表現スペースを記述する場合のサンプルコード

Pythonで記述例を紹介しているのでそちらもご活用ください。

正規表現のエスケープまとめ>>Python正規表現の記号エスケープ処理

Pythonの正規表現チェッカー

正規表現チェッカー for Python

正規表現でスペースを使う方法

前述の通り、スペースが入っていた場合でも文字列として処理可能ですが、全角と半角が別の文字として扱われます。
全角と半角を区別したい場合は特殊文字を使いましょう。

全角・半角の両方のスペースにマッチさせたい場合は「s」を指定します。

「あいう えお」(半角スペース)
「あいう えお」(全角スペース)

という文字列をどちらもマッチさせたい場合、そのままではマッチしません。
以下のように指定することでマッチできます。

「あいう/sえお」

この場合、「あいう えお」(半角スペース)と「あいう えお」(全角スペース)の両方にマッチできます。

Pythonで正規表現スペースを記述する場合のサンプルコード

Pythonでの記述例は以下の通りです。
Pythonで正規表現をチェックする場合は「re」ライブラリを使用します。

全角・半角スペースをマッチする例

両方マッチさせる場合は「re.compile('あいうsえお')」のように指定。

◆実行結果

全角スペースのみをマッチさせたい場合は「re.compile('あいう えお')」、半角のみをマッチさせたい場合は「re.compile('あいう えお')」のようにそのまま指定すればOKです。

連続したスペースをマッチさせる

繰り返しの表現を活用することで複数のスペースにマッチさせることができます。

繰り返しの記述方法は以下の通り。

{n}:スペースがn個ある場合にマッチ
*:スペースなしまたはスペースが1個以上ある場合にマッチ
+:スペースが1個以上ある場合にマッチ

例えばスペースを2つ含む文章とマッチさせたい場合は「^あいうえおs{2}かきくけこ$」のように記述します。

◆実行結果

アスタリスクを指定した場合、スペースがあってもなくてもマッチします。

◆実行結果

一方プラスの場合はスペースがない場合マッチしません。

◆実行結果

文字列からスペースを削除する

re.sub()を活用することで文字列からスペースを削除できます。

◆実行結果
あいうえお

マッチ時にスペースを無視したい場合

スペースを無視したい場合もあると思います。

方法はいくつからありますが、今回はあらかじめ文字列からスペースを削除する方法を紹介します。

◆実行結果

Pythonの正規表現チェッカー

Pythonの正規表現チェッカーを作成してみました。
>>正規表現チェッカー for Python

まとめ

スペースはそのままでも正規表現で使えますが、全角と半角を別の文字として扱われるので区別の必要がない場合は特殊文字「/s」での記述が必要です。
そのまま書いてしまうと意図しないチェックとなるので注意しましょう。

正規表現は複雑に見えますが、一つ一つの記号の使い方は単純です。
一つ一つの記号を元に紐解いて行けば複雑な表現でも意味がわかるようになります。

いろいろ試してみましょう。

正規表現のエスケープまとめ>>Python正規表現の記号エスケープ処理

こちらの記事も読まれています

  • この記事を書いた人
miyabikno

miyabikno

住んでいるところ:神奈川県。 SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。フリーランス:2年。現在はブログをメインに活動しています。

-Pythonサンプルコード集
-

Copyright© みやびのどっとぴーわい , 2020 All Rights Reserved Powered by AFFINGER5.