import re
# 待匹配信息
# xxxx有限公司\P54862.3平方米\P工业用地\P2035金准0033号
# xxxx经济合作社\P12001.2平方米\P工业\P2005-005\P
# xxxx设备有限公司\P1045平方米\P工业\P2003-052\P
# 用地单位
# 直接分割字符串返回第一项
def search(s, i):
attrs = s.split("\\P")
l = len(attrs)
if i>l-1:
return
return attrs[i]
# 用地面积
# 匹配“整数加平方米”或者“浮点数加平方米”
# 如1045平方米、12001.2平方米
def search(s):
pattern = unicode('\d+\.?\d+平方米', "utf-8")
match = re.findall(pattern, s)
if len(match)==1:
return float(match[0][0:-3])
else:
return
# 批文号
# 匹配以“\p”开头,“号”,“整数-整数”或者“非号非\P”的任意个字符
# 如2005-005、2035金准0033号
def search(s):
pattern = unicode('(?<=\\\\P)\d+-\d+|[^号\\\\P]+号', "utf-8")
match = re.findall(pattern, s)
if len(match)==1:
return match[0]
else:
return
# 土地用途
# 匹配以“\P”开头,“\P”结尾,包含特定关键词
# 如工业用地、工业
# 这个还需要改进
def search(s, a):
if a is not None:
return a
words = ["性质","住宅","居住","工业","用地","展览","商住","集资楼","设施","商业楼","别墅","园地"]
for word in words:
ss = '(?<=\\\\P)[^(\\\\P)]*'+word+'[^(\\\\P)]*(?=\\\\P)'
pattern = unicode(ss, "utf-8")
match = re.findall(pattern, s)
if len(match)==1:
return match[0]
return
【Python】用正则提取供地数据信息
最新推荐文章于 2022-07-20 16:30:17 发布