2

文字、数字、およびこれらの特殊文字 (,.-|;!_?) のみを受け入れる Python の正規表現。

次の正規表現を使用して問題を解決しようとしましたが、うまくいきませんでした。

'([a-zA-Z0-9,.-|;!_?])$'
'([a-zA-Z0-9][.-|;!_?])$'

誰かが正規表現を書くのを手伝ってくれませんか。

4

4 に答える 4

3

これを 1 文字だけに使用します。

'[a-zA-Z0-9,.\-|;!_?]' or '[\w,.\-|;!_?]'

これをすべての文字に使用します。

'[a-zA-Z0-9,.\-|;!_?]*' or '[\w,.\-|;!_?]*'

これを等しいチェックに使用します。

'^[a-zA-Z0-9,.\-|;!_?]*$' or '^[\w,.\-|;!_?]*$'
于 2017-01-06T11:14:19.890 に答える
2

使用できます\w(ボーナス: Unicode とロケールのサポート!):

任意の英数字とアンダースコアに一致します。これはセット [a-zA-Z0-9_] と同等です

Python のドキュメントを参照してください。また、正規表現パターンを指定するときに生の文字列を使用することもできます。

m = re.match(r'[\w,.-|;!?]+', your_string)

+(repeat once or more)の使用に注意してください。また$、文字列の末尾に一致していましたが、私はそれを含めませんでした. YMMV。

于 2017-01-06T11:14:16.967 に答える