如何在Python中使用正则表达式从法律描述中提取信息

2024-09-30 06:10:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用正则表达式提取土地地块的法定描述中的度/分/秒和英尺。书面法律描述的示例如下:

CONT FROM THE PT ON THE NWLY ROW LN OF CO RD NO 31 N 56D 54M 00S W 365 FT TH S 32D 06M 00S W 91/89 FT TH S 61D 54M 00S E 335/77 FT TO THE NWLY ROW OF SD CO RD NO 31 TH N 32D 06M 00S E 62/62 FT TO THE POB EXC THAT PART CONVEYED IN BOOK 1132 PAGE 473 0/5900A

我已经写了一个正则表达式,它将遍历这个区域并找到我要寻找的区域,例如:n32d06m00se62/62英尺。
问题是有时脚不能直接写在度数/分/秒之后。例如,它可能会说:N 32D 06M 00S E沿道路行驶62/62英尺。
“沿路前进”是扰乱我的正则表达式的部分。你知道吗

有什么好办法可以解决这个问题吗?下面是我的代码示例

用户输入:

legal_input=input("Paste legal description from RW here: ")

用于查找cogo的正则表达式代码:

cogo_rgx = re.compile(r'([N]{,2}[S]{,2} \w{,1}\d{,2}D{,1} \d{,2}M{,1} \d{,2}S{,1}\s{,2}\w) (\s{,2}\d{1,4}\W{,1}\d{,2} FT){,1}') 

full_legal=cogo_rgx.findall(legal_input)

打印消息:

print("\nCogo below: \n")

打印字典中的键,后跟值(dms后跟feet)。这样更容易阅读:

for key, value in full_legal:
   print(key, value)

Tags: ofthetono区域示例inputrd
1条回答
网友
1楼 · 发布于 2024-09-30 06:10:57

试试正则表达式:((?:N|S) \d{2}D \d{2}M \d{2}S (?:E|W) )(?:.)*?(?=\d+(?:\/\d+)? FT)(\d+(?:\/\d+)? FT)

并结合捕获组1和2

Demo

相关问题 更多 >

    热门问题