\

Pythonでは、reモジュールを使って正規表現操作を行うことができます。この記事では、Pythonのreモジュールを使って特定の文字列を除外する方法について説明します。

特定の文字を含まない文字列の正規表現

[]を使用すると、囲まれた文字にマッチさせることができます。これに否定・除外の意味を持つ^(キャレット)を使用することで、「指定した文字を含まない」表現ができます。

import re

# 'a' 以外の文字にマッチする正規表現
pattern = r'[^a]'
text = 'abc'
print(re.findall(pattern, text))  # ['b', 'c']

特定のパターン以外の文字列の正規表現

指定した文字を含まない場合も、上記の[]を使って書くことができます。

import re

# 'ABC' 以外の文字にマッチする正規表現
pattern = r'[^ABC]'
text = 'ABCDEFG'
print(re.findall(pattern, text))  # ['D', 'E', 'F', 'G']

まとめ

正規表現は、「何かにマッチする」「あてはまる」「含む」ようなイメージを持ってしまう人も多いのですが、それを逆手に取って「除外」する方向でマッチさせる方が、すっきりした書き方・表現になることもあります。最初は慣れるのに時間がかかるかもしれませんが、「マッチする表現」から「除外する」を導く書き方を想像できるようになると、効率的で分かりやすくなることも多いので、少しずつ試してみましょう。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です