在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 請(qǐng)問這種題目使用正則應(yīng)該怎么樣才能做得更好

請(qǐng)問這種題目使用正則應(yīng)該怎么樣才能做得更好

題目描述

一、第1段話,分別拿出下面的營業(yè)收入、歸屬母公司所有者的凈利潤、扣除非經(jīng)常性損益后歸屬于母公司所有者凈利潤,格式為元組,(日期,名稱,數(shù)值,單位),格式化成2017-9-30,存入到list中

二、拿出第2段話的注冊(cè)資本,也就是 (2015年,注冊(cè)資本,7,900.00,美元),也存入一的list中

題目來源及自己的思路

文本內(nèi)容:
1.公司2017年1-9月的營業(yè)收入、歸屬于母公司所有者的凈利潤和扣除非經(jīng)常性損益后歸屬于母公司所有者凈利潤分別為98,768.99萬元、14,079.98萬元和13,649.00萬元,較2016年1-9月分別同比增長10.27%、35.63%和20.30%,體現(xiàn)了公司良好的經(jīng)營情況。
2.導(dǎo)致公司2015年管理費(fèi)用較2014年增長較大、2016年管理費(fèi)用較2015年下降的主要原因?yàn)椋孩?015年3月,公司注冊(cè)資本由7,900.00萬美元增加至9,161.256萬美元,新增股東寧波領(lǐng)挈、寧波領(lǐng)榮、寧波領(lǐng)祺、寧波領(lǐng)鑫及寧波領(lǐng)禧為公司員工持股平臺(tái),根據(jù)公司2014年12月

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

#-*-coding:utf-8-*-
import re
import json

data = ['2017-9-30']
list = []
file = open(u'文本提取數(shù)據(jù).txt')
key = file.read().decode('gbk')
print key
pattern = re.compile(u'(?<=1-9月).*(?=經(jīng)營情況)')
matcher = re.search(pattern,key)
pass
pattern1 = re.compile(u'營業(yè)收入')
matcher1 = re.search(pattern1,matcher.group())
data.append(matcher1.group())
pass
pattern2 = re.compile(u'[0-9].*?(?=萬元)')
matcher2 = re.search(pattern2,matcher.group())
data.append(matcher2.group())
data.append('萬元')
data = tuple(data)
list.append(data)
pass
data2 = ['2017-9-30']
pattern3 = re.compile(u'歸屬于母公司所有者的凈利潤')
matcher3 = re.search(pattern3,matcher.group())
data2.append(matcher3.group())
pass
pattern4 = re.compile(u'(?<=萬元、).*?(?=萬元)')
matcher4 = re.search(pattern4,matcher.group())
data2.append(matcher4.group())
data2.append('萬元')
data2 = tuple(data2)
list.append(data2)
pass
data3 = ['2017-9-30']
pattern5 = re.compile(u'扣除非經(jīng)常性損益后歸屬于母公司所有者凈利潤')
matcher5 = re.search(pattern5,matcher.group())
data3.append(matcher5.group())
pass
pattern6 = re.compile(u'(?<=萬元和).*?(?=萬元)')
matcher6 = re.search(pattern6,matcher.group())
data3.append(matcher6.group())
data3.append('萬元')
data3 = tuple(data3)
list.append(data3)
pass
pass
dataTwo = []
patternTwo = re.compile(u'(?<=導(dǎo)致).*')
matcherTwo = re.search(patternTwo,key)
pass
patternTwo1 = re.compile(u'2015年')
matcherTwo1 = re.search(patternTwo1,matcherTwo.group())
dataTwo.append(matcherTwo1.group())
pass
patternTwo2 = re.compile(u'注冊(cè)資本')
matcherTwo2 = re.search(patternTwo2,matcherTwo.group())
dataTwo.append(matcherTwo2.group())
pass
patternTwo3 = re.compile(u'(?<=注冊(cè)資本由).*?(?=萬)')
matcherTwo3 = re.search(patternTwo3,matcherTwo.group())
dataTwo.append(matcherTwo3.group())
dataTwo.append('美元')
dataTwo = tuple(dataTwo)
list.append(dataTwo)
for i in range(0,4):
    print "\n"
    for j in list[i]:
        print j,

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

雖然現(xiàn)在已經(jīng)可以按照要求提取數(shù)據(jù)了,但是感覺這種提取方法太蠢了,應(yīng)該怎么完善希望各路大佬可以指點(diǎn)迷津

回答
編輯回答
墨染殤

沒太懂,下面寫了一個(gè)匹配 金額的,做參考,第二段話,匹配資本同樣可用,只需要取用第一項(xiàng)即可,年份以此類比

var str1 = '公司2017年1-9月的營業(yè)收入、歸屬于母公司所有者的凈利潤和扣除非經(jīng)常性損益后歸屬于母公司所有者凈利潤分別為98,768.99萬元、14,079.98萬元和13,649.00萬元,較2016年1-9月分別同比增長10.27%、35.63%和20.30%,體現(xiàn)了公司良好的經(jīng)營情況';
str1.match(/([\d,.])+萬元/g);
2017年7月20日 09:03