如何检查字符串是否只包含字母数字字符和破折号?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (41)

我正在测试的字符串可以匹配[\w-]+。我可以测试一个字符串是否符合Python中的这个标准,而不是有一个不允许的字符列表并对其进行测试?

提问于
用户回答回答于

如果你想对正则表达式测试一个字符串,可以使用re库:

import re
valid = re.match('^[\w-]+$', str) is not None
用户回答回答于

Python也有正则表达式:

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

或者你可以创建一个允许的字符列表:

from string import ascii_letters
if all(c in ascii_letters+'-' for c in s):
    ...

扫码关注云+社区

领取腾讯云代金券