python利用正则表达式提取文本中的金额
import reRegx = re.compile("((\\d*[\\d,,]*\\.?\\d*)|(0\\.+))(元|百万|万元|亿元|万|亿)")
# 对整个文本进行分句,根据个人统计和测试,只需要用逗号对文本分句足矣
def cutFun(initial_txt):
result = re.split('。', initial_txt)
return result
def YUAN_contain(content, temp_result_set):
str = '元'
for term in cutFun(content):
if str in term:
temp_result_set.add(term)
def get_price(txt):
"""获取价格"""
price = 0
# 符合要求的文本加入集合中
# 如果一个句子中有“元”那么将该句子存放在一个临时变量中以供试用
temp_result_set = set()
YUAN_contain(txt, temp_result_set)
# 将temp_result_set中含有数字的句子分离出来
# 最终结果为一个集合
result_set = set()
for term in temp_result_set:
for ch in term:
if ch.isdigit():
result_set.add(term)
# 用正则式提取金额
for term in result_set:
i = Regx.search(term)
if i != None:
price = i.group()
return price 多谢分享。
多谢分享。
页:
[1]