Pythonを除いて、この質問の解決策が必要です! Pythonの正規表現でPOSIX式を使用できるように見えるように、Python用の正規表現ライブラリをインストールしようとしましたが、それでも[:alpha:]
クラスにUnicode文字が含まれていないと思います。例えば:
>>> re.search(r'[[:alpha:] ]+','Please work blåbær and NOW stop 123').group(0)
'Please work bl'
合わせたいときPlease work blåbær and NOW stop
編集:私はPython 2.7を使用しています
編集2:私は次のことを試しました:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'Please work blåbær and NOW stop 123').group(0)
'Please work bl\xc3'
私が望んでいたものとはまったく異なります(最初の非ASCII文字の後の部分も一致させたいです)が、少なくとも以前よりも文字に一致しました。残りの必要なものと一致させるには、ここで何をすべきですか?
編集 3:「単語」以外の文字と一致させたくありません。「単語」とは、az、AZ、スペース、およびアクセント付きの単語文字のバリエーションを意味します。私の考えが伝わったと思います。のようなフレーズで
lets match força, but stop before that comma
だけ合わせたいlets match força
編集 4:だから私はこの 1 つのスクリプトのためだけに Python 3 を使用しようとしました:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'lets match força, but stop before that comma').group(0)
'lets match força'
Python 3 ではほとんどの部分で機能すると思いますが、数字 (これは絶対に望んでいません) とアンダースコアにも一致します。Python 2または3でこれを修正する方法はありますか?