我试图用Python(re
包中的正则表达式)解析下面句子中的指示范围但到目前为止没有运气:
body = 'Adulticides are modelled by increasing the mosquito mortality rate [9] , [20] – [22] .'
我正在尝试匹配
[20] – [22]
问题似乎是连字符不是通常的-
,而是一些unicode连字符–
。
我最接近匹配此范围的前半部分是:
m = re.findall(r'\[20\] ', body)
你如何匹配整个范围?
答案 0 :(得分:2)
您需要使用unicode标志,如下所示:
m = re.findall(r'\[\d+\] – \[\d+\]', body, re.UNICODE)
这应该从您指定的字符串返回[20] – [22]
。