如何将unicode字符串检查为字母,空格和短划线

时间:2012-02-03 11:15:40

标签: python regex

我已经为unicode字符串here读了一个很棒的解决方案,但我需要检查整个字符串是字母,空格还是破折号,我想不出任何解决方案。这个例子没有按我的意愿运作。

name = u"Василий Соловьев-Седой"
r = re.compile(r'^([\s\-^\W\d_]+)$', re.U)
r.match(name) -> None

2 个答案:

答案 0 :(得分:4)

r = re.compile(r'^(?:[^\W\d_]|[\s-])+$', re.U)

[^\W\d_]匹配任何字母(通过匹配除数字和下划线之外的任何字母数字字符)。

[\s-]当然匹配空格和破折号。

答案 1 :(得分:0)

如果您只想查看:

name = u"Василий Соловьев-Седой";
name = name.replace("-","").replace(" ",""); 
name.isalpha()