【发布时间】:2013-09-10 21:36:32
【问题描述】:
我目前使用 re.findall 来查找和隔离字符串中哈希标签的“#”字符之后的单词:
hashtags = re.findall(r'#([A-Za-z0-9_]+)', str1)
它搜索 str1 并找到所有主题标签。这可行,但它不考虑像这样的重音字符,例如:áéíóúñü¿。
如果这些字母中的一个在 str1 中,它将保存主题标签直到它之前的字母。例如,#yogenfrüz 将是 #yogenfr。
我需要能够解释从德语、荷兰语、法语和西班牙语范围内的所有重音字母,以便我可以保存像 #yogenfrüz 这样的主题标签
我该怎么做呢
【问题讨论】:
-
使用
re.UNICODE标志。 -
@AshwiniChaudhary:UNICODE 标志不会使使用的范围匹配非 ASCII 字符,不。如果你告诉正则表达式匹配
a-z,它会采用文字范围,而不是a和á在某种程度上是同一件事的人类解释。 -
@MartijnPieters:那么,它会怎么做呢? ;-)
-
@JohnTortugo:请参阅下面的答案。
标签: python regex django hashtag non-ascii-characters