正则表达式匹配短语与unicode字符

时间:2013-09-30 15:35:24

标签: python regex unicode

我试图用Python(re包中的正则表达式)解析下面句子中的指示范围但到目前为止没有运气:

body = 'Adulticides are modelled by increasing the mosquito mortality rate [9] , [20] – [22] .'

我正在尝试匹配

[20] – [22]

问题似乎是连字符不是通常的-,而是一些unicode连字符

我最接近匹配此范围的前半部分是:

m = re.findall(r'\[20\] ', body)

你如何匹配整个范围?

1 个答案:

答案 0 :(得分:2)

您需要使用unicode标志,如下所示:

m = re.findall(r'\[\d+\] – \[\d+\]', body, re.UNICODE)

这应该从您指定的字符串返回[20] – [22]