24

私がテストしている文字列は、と一致する可能性があり[\w-]+ます。許可されていない文字のリストを用意してそれをテストする代わりに、Python で文字列がこれに準拠しているかどうかをテストできますか?

4

4 に答える 4

38

正規表現に対して文字列をテストする場合は、reライブラリを使用します

import re
valid = re.match('^[\w-]+$', str) is not None
于 2012-06-08T07:10:39.900 に答える
8

Python にも正規表現があります。

import re
if re.match('^[\w-]+$', s):
    ...

または、許可された文字のリストを作成することもできます:

from string import ascii_letters
if all(c in ascii_letters+'-' for c in s):
    ...
于 2012-06-08T07:11:03.367 に答える
1

文字列に英数字とダッシュのみが含まれているかどうかをテストするには、次を使用します

import re
found_s = re.findall('^[\w-]+$', s)
valid = bool(found_s) and found_s[0] == s
于 2012-10-09T19:24:32.140 に答える