我想将编号的项目提取到字典中:
output = {'01': 'Agriculture and related service activities',
'011': 'Growing crops, market gardening and horticulture'...}
目前我正在使用tika从pdf中提取文本。但我现在需要一个正则表达式来从内容中提取编号的项目。 我该怎么做?
from tika import parser
raw = parser.from_file(path)
text = raw['content']
regex = ???
match = re.findall(regex, text, flags=re.DOTALL)
text变量包含文档的文本。它看起来像这样:
U" \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n新闻中心 - 新加坡标准行业分类,2015 \ n \ n \ n \ n n \ n A部分:农业和渔业2015年工业SSIC 2010 \ n \ n选择农业和渔业\ n \ n01农业和相关服务活动\ n \ n1111农作物种植,市场园艺和园艺种植\ n \ n11111粮食作物(非水培)\ n01111种植多叶蔬菜和水果蔬菜01111 \ n01112种植蘑菇01112 \ n01113种植根茎作物01113 ......"
答案 0 :(得分:1)
'^'在正则表达式前面可能不起作用。尝试下面的代码。
regex = '([\d]+).+?([a-zA-Z].+)'#(\d.+|$)'
match = re.findall(regex, s)
print(match)
Output : [('2015', 'Industry SSIC 2010'),
('01', 'AGRICULTURE AND RELATED SERVICE ACTIVITIES'),
('011', 'GROWING OF CROPS, MARKET GARDENING AND HORTICULTURE'),
('0111', 'Growing of Food Crops (Non-Hydroponics)'),
('01111', 'Growing of leafy and fruit vegetables 01111'),
('01112', 'Growing of mushrooms 01112'),
('01113', 'Growing of root crops 01113......')]
希望有帮助。
答案 1 :(得分:0)
您可以尝试以下操作:
regex = ^([\d]+).+?([a-zA-Z].+?)(\d.+|$)