所以我从网页上抓取数据,接收到的数据通常如下:
233989 001 0/49 T R 4:15 PM - 5:30 PM 205 IST Building 01/13/14 - 05/02/14 Controls View (814) 865-8947 266200 002 0/43 M W F 10 :10 AM - 11:00 AM 110 IST Building 01/13/14 - 05/02/14 Controls View (814) 865-8947
我正在尝试将数据从模式######(6 个数字,即 233989)拆分为代表当前数据行末尾的电话号码(即 (814) 865-8947) 因为我知道它总是以 4 个数字结尾,所以我想出了这个表达式:
(^[0-9]{1,6}$[^[0-9]{1,4}$]*[0-9]{1,4}$+)+
虽然这似乎不起作用。谁能伸出援手?
请您参考如下方法:
你可以使用这个:
r'(\d{6}.*?\(\d{3}\) \d{3}-\d{4}) ?'
然后在$1\n 上重建它
像这样:http://regex101.com/r/lG4gG5
python :
import re
s = '233989 001 0 / 49 T R 4:15 PM - 5:30 PM 205 IST Building 01/13/14 - 05/02/14 Controls View (814) 865-8947 266200 002 0 / 43 M W F 10:10 AM - 11:00 AM 110 IST Building 01/13/14 - 05/02/14 Controls View (814) 865-8947'
spl = re.split(r'(\d{6}.*?\(\d{3}\) \d{3}-\d{4}) ?', s)
for line in spl:
print line
