にLOCALEとUNICODEフラグで正規表現を使用して。テストは、私はPythonでテストスクリプトを書きたいのPython
- に、私は空白文字の異なるセットを持っているASCII以外のロケールの文字列を与えていると空白'\ s'に
re.LOCALE
フラグを付けて出力を確認してください。 - 私もその補完をしたいと思います。
\S
にして、そのLOCALEに返される空白以外のものを参照してください。
これで私はどのように達成できましたか? ASCIIからの出力の明確な違いを見るにはどのロケールを選択すべきですか。
# -*- Proper encoding -*-
import re
pat = re.compile('\s*', re.LOCALE)
string = "string" # Proper Replacement String?
result = pat.match(string)
print result.group(0)
私はUbuntuを使用しており、私の現在のロケールは私のシェルのものです。 (それが問題にした場合)
$locale
LANG=en_SG.UTF-8
LANGUAGE=en_SG:en
LC_CTYPE="en_SG.UTF-8"
LC_NUMERIC="en_SG.UTF-8"
LC_TIME="en_SG.UTF-8"
LC_COLLATE="en_SG.UTF-8"
LC_MONETARY="en_SG.UTF-8"
LC_MESSAGES="en_SG.UTF-8"
LC_PAPER="en_SG.UTF-8"
LC_NAME="en_SG.UTF-8"
LC_ADDRESS="en_SG.UTF-8"
LC_TELEPHONE="en_SG.UTF-8"
LC_MEASUREMENT="en_SG.UTF-8"
LC_IDENTIFICATION="en_SG.UTF-8"
LC_ALL=
はところで、私は、UNICODEまたはロケールを認識し、入力/出力の少ない経験を持っています。私が知っている限り、ターミナルにコードポイントを使ってユニコード文字を入力することができます。
可能な入力とは何か、その入力の目的とする出力は何ですか? – apple16
入力はロケール文字を含む文字列になり、出力は正規表現との適切な一致になります。 –