Pythonの正規表現では、特定の文字を除くために否定文字クラスを使用します。 たとえば、アルファベット、数字、ハイフン以外のすべての文字をマッチさせたい場合、次のような正規表現を使用します。
import re
r = re.compile(r"[^a-zA-Z0-9-]")
s = "some#%te_xt&with--##%--5 hy-phens *#"
new_s = r.sub("", s)
print(new_s) # 'sometextwith----5hy-phens'
このコードでは、re.compile(r"[^a-zA-Z0-9-]")
でアルファベット、数字、ハイフン以外のすべての文字をマッチさせる正規表現を作成しています。そして、r.sub("", s)
でマッチした文字を空文字列に置換(つまり削除)しています。
また、複数の文字を一度にマッチさせて置換するためには、+
(1回以上の繰り返し)を使用します。
r = re.compile(r"[^a-zA-Z0-9-]+")
この正規表現は、アルファベット、数字、ハイフン以外の文字が1つ以上連続する部分を一度にマッチさせます。
Pythonの正規表現を使うと、特定の文字を除くなど、文字列の操作が柔軟に行えます。