我读过一个很好的 unicode 字符串解决方案 here ,但我需要检查整个字符串是否为字母、空格或破折号,我想不出任何解决方案。该示例无法正常工作。
name = u"Василий Соловьев-Седой"
r = re.compile(r'^([\s\-^\W\d_]+)$', re.U)
r.match(name) -> None
最佳答案
r = re.compile(r'^(?:[^\W\d_]|[\s-])+$', re.U)
[^\W\d_]
匹配任何字母(通过匹配除数字和下划线之外的任何字母数字字符)。
[\s-]
当然匹配空格和破折号。
关于python - 如何检查 unicode 字符串是否仅为字母、空格和破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127782/