2016-12-28 2 views
-3

Pythonで可能ですかを文字列に変換します。どのようにPythonでREを使用して "[A-Z]"を "ABCD ,,,"に変換する

"[A-Z]" to "ABCDE...XYZ" 

又は

"[0-9]" to "012..9" 

または他の同様のRE

re Pythonモジュールを使用することによって。

+0

なぜ基本パーザを書くのではなく、正規表現を使用しますか? –

+0

new = re.MyExtractor(old) – ebart

+1

のように1行だけでこれをやりたいのですが、なぜMyExtractor()という関数を作ってみませんか? 're'でやっていることをやろうとするのは本当に良い解決策ではありません。 – MooingRawr

答えて

2

正規表現は生成についてではなく一致するものです。

あなたが気にするすべての文字のシーケンスをあらかじめ生成しておき、それにREをマッチさせ、一致するものだけを選択することができます。

import re 

all_chars = "".join(chr(x) for x in range(32, 128)) # only ASCII here 

digits_and_caps_rx = re.compile('([0-9]|[A-Z])') 

print "".join(digits_and_caps_rx.findall(all_chars)) 
+0

面白い解決策 – ebart

関連する問題