【发布时间】:2017-06-23 16:38:20
【问题描述】:
我有一个要解析的网址列表:
['https://www.richmondfed.org/-/media/richmondfedorg/press_room/speeches/president_jeff_lacker/2017/pdf/lacker_speech_20170303.pdf','http://www.federalreserve.gov/newsevents/speech/powell20160929a.htm','http://www.federalreserve.gov/newsevents/speech/fischer20161005a.htm']
我想使用正则表达式创建一个新列表,其中包含字符串末尾的数字和标点符号之前的任何字母(某些字符串包含两个位置的数字,如上面列表中的第一个字符串所示)。所以新列表看起来像:
['20170303', '20160929a', '20161005a']
这是我没有运气的尝试:
code = re.search(r'?[0-9a-z]*', urls)
更新:
跑步-
[re.search(r'(\d+)\D+$', url).group(1) for url in urls]
我收到以下错误 -
AttributeError: 'NoneType' object has no attribute 'group'
此外,如果有字母,这似乎不会在数字后面接一个字母..!
【问题讨论】:
-
你可以试试
\d[^/.]*(?=\.\w+$)
标签: python regex fuzzywuzzy