文字、数字、およびこれらの特殊文字 (,.-|;!_?) のみを受け入れる Python の正規表現。
次の正規表現を使用して問題を解決しようとしましたが、うまくいきませんでした。
'([a-zA-Z0-9,.-|;!_?])$'
'([a-zA-Z0-9][.-|;!_?])$'
誰かが正規表現を書くのを手伝ってくれませんか。
これを 1 文字だけに使用します。
'[a-zA-Z0-9,.\-|;!_?]' or '[\w,.\-|;!_?]'
これをすべての文字に使用します。
'[a-zA-Z0-9,.\-|;!_?]*' or '[\w,.\-|;!_?]*'
これを等しいチェックに使用します。
'^[a-zA-Z0-9,.\-|;!_?]*$' or '^[\w,.\-|;!_?]*$'
使用できます\w
(ボーナス: Unicode とロケールのサポート!):
任意の英数字とアンダースコアに一致します。これはセット [a-zA-Z0-9_] と同等です
Python のドキュメントを参照してください。また、正規表現パターンを指定するときに生の文字列を使用することもできます。
m = re.match(r'[\w,.-|;!?]+', your_string)
+
(repeat once or more)の使用に注意してください。また$
、文字列の末尾に一致していましたが、私はそれを含めませんでした. YMMV。