Python Regex将短语拆分为多个空格分隔的列

Python Regex将短语拆分为多个空格分隔的列,python,regex,Python,Regex,我希望得到一些regex的帮助。我有几行列式文本要用正则表达式拆分。每一列可以是由任意字符组成的短语,由一个空格或两个空格分隔。列之间有大量空格,可能至少有4个空格 最后,我需要匹配第二列中的日期 这里有一个例子。我需要此列中的日期为组重要\u日期 Rain in Spain 11/01/2000 90 Days

我希望得到一些regex的帮助。我有几行列式文本要用正则表达式拆分。每一列可以是由任意字符组成的短语,由一个空格或两个空格分隔。列之间有大量空格,可能至少有4个空格

最后,我需要匹配第二列中的日期

这里有一个例子。我需要此列中的日期为组
重要\u日期

        Rain in Spain                                                   11/01/2000                                   90 Days
重要日期
不应与下一行中的日期匹配:

          Another                                                           line of text                             10/15/1990
#示例:
进口稀土
regex=r“(.*)s(?P\d{1,2}\/\d{1,2}\/\d{4})。”
match_this=“西班牙雨2000年1月11日90天”
非此=“另一行文本10/15/1990”
打印(f“查找此日期很好:{re.search(regex,match_this.group('important_date'))}”)
print(f“但是这个应该抛出一个错误:{re.search(regex,not_this.group('important_date'))}”)
我还将这些正则表达式与许多其他具有不同结构的文本行进行比较,所以这就是为什么我不想只拆分一个
字符串。要知道我得到了
重要的\u日期
,我需要知道整行是这样的:一列,第二列是日期,也可能是日期后的另一列

使用单个正则表达式执行此操作也将更容易地适应应用程序的其余部分。我担心
line.split(“”)
和检查结果列表会干扰此应用程序中正在进行的其他检查

我一直不知道如何编写正则表达式的第一部分,该部分捕获的单词之间的空格不超过2个。我可以用lookaheads来做这个吗

谢谢大家!

试试这个:
(?m)^\s*(\w++\s)+\s+(?p\d\d/\d\d\d)。*$
()


我假设第一列由单个空格分隔的单词组成,并与第二列分隔多个空格。

您可以在两个或多个空格的字段上拆分,并且仅当数据是第二个字段时才使用数据:

for x in (match_this, not_this):
    te=re.split(r'[ \t]{2,}',x)
    if re.match(r'\d{1,2}\/\d{1,2}\/\d{4}', te[2]):
        # you have an important date
        print(te[2])
    else:
        # you don't
        print('no match')   

我想是这样的!我调整了位-将
(\w++\s)+
替换为
(\s++\s)+
,因为第一列可以有其他字符。非常感谢。
for x in (match_this, not_this):
    te=re.split(r'[ \t]{2,}',x)
    if re.match(r'\d{1,2}\/\d{1,2}\/\d{4}', te[2]):
        # you have an important date
        print(te[2])
    else:
        # you don't
        print('no match')