REGEX Python第二次匹配



我正在尝试提取第二个匹配到"LOCATION s+ s+ "选自以下文本:

PAGE    1
​
BID OPENING DATE    07/25/18    FROM 0.2 MILES WEST OF ICE HOUSE        07/26/18 CONTRACT NUMBER    03-2F1304   ROAD TO 0.015 MILES WEST OF CONTRACT CODE 'A '
​
LOCATION    03-ED-50-39.5/48.7  DIVISION HIGHWAY ROAD   44 CONTRACT ITEMS
​
INSTALL SANDTRAPS AND PULLOUTS  FEDERAL AID ACNH-P050-(146)E
​
PAGE    1
​
BID OPENING DATE    07/25/18    IN EL DORADO COUNTY AT VARIOUS          07/26/18 CONTRACT NUMBER     03-2H6804  LOCATIONS ALONG ROUTES 49 AND 193   CONTRACT CODE 'C ' LOCATION 03-ED-0999-VAR          13 CONTRACT ITEMS
​
​
​
TREE REMOVAL    FEDERAL AID NONE
​
PAGE    1
​
BID OPENING DATE    07/25/18    IN LOS ANGELES, INGLEWOOD AND       07/26/18 CONTRACT NUMBER    07-296304   CULVER CITY, FROM I-105 TO PORT CONTRACT CODE 'B '
​
LOCATION    07-LA-405-R21.5/26.3    ROAD UNDERCROSSING  55 CONTRACT ITEMS
​
​
​
ROADWAY SAFETY IMPROVEMENT  FEDERAL AID ACIM-405-3(056)E

我试图从文本中获得LOCATION 03-ED-0999-VAR(第二场比赛)。有没有一种方法可以在python中指定我们想要第二个,第三个或第n个匹配?现在,我有以下代码:

# imports
import os
import pandas as pd
import re
import docx2txt
import textract
import antiword
text = ' PAGE    1
BID OPENING DATE    07/25/18    FROM 0.2 MILES WEST OF ICE HOUSE        07/26/18 CONTRACT NUMBER    03-2F1304   ROAD TO 0.015 MILES WEST OF CONTRACT CODE 'A '
LOCATION    03-ED-50-39.5/48.7  DIVISION HIGHWAY ROAD   44 CONTRACT ITEMS
INSTALL SANDTRAPS AND PULLOUTS  FEDERAL AID ACNH-P050-(146)E
PAGE    1
BID OPENING DATE    07/25/18    IN EL DORADO COUNTY AT VARIOUS          07/26/18 CONTRACT NUMBER     03-2H6804  LOCATIONS ALONG ROUTES 49 AND 193   CONTRACT CODE 'C ' LOCATION 03-ED-0999-VAR          13 CONTRACT ITEMS

TREE REMOVAL    FEDERAL AID NONE
PAGE    1
BID OPENING DATE    07/25/18    IN LOS ANGELES, INGLEWOOD AND       07/26/18 CONTRACT NUMBER    07-296304   CULVER CITY, FROM I-105 TO PORT CONTRACT CODE 'B '
LOCATION    07-LA-405-R21.5/26.3    ROAD UNDERCROSSING  55 CONTRACT ITEMS

ROADWAY SAFETY IMPROVEMENT  FEDERAL AID ACIM-405-3(056)E'
location1 = re.search('LOCATION s+S+', text)

不要用re.search(),可以试试用re.findall()。这将以列表的形式为您提供所有匹配项,您可以选择您喜欢的任何一个,甚至可以计算您获得了多少个。

location1 = re.findall("LOCATION s+S+", text)
print(len(location1)) # To print how many matches there are
print(location1[1]) # To print second match

相关内容

  • 没有找到相关文章