如何使用python re查找两个单词(不包括空格)之间的信息?

如何使用python re查找两个单词(不包括空格)之间的信息?,python,regex,Python,Regex,您好,我正在尝试使用python开发一个脚本,它可以检测两个单词之间是否存在某些内容。我使用正则表达式r'Madrid:.*?Newyork'来表示: import re string_1 = "Madrid: good bars Newyork: good building Warranty: No" pattern = r'Madrid:(.*?)Newyork' searchObj = re.search(pattern, string_1, re.I) if searchObj:

您好,我正在尝试使用python开发一个脚本,它可以检测两个单词之间是否存在某些内容。我使用正则表达式r'Madrid:.*?Newyork'来表示:

import re

string_1 = "Madrid: good bars Newyork: good building Warranty: No"
pattern = r'Madrid:(.*?)Newyork'
searchObj = re.search(pattern, string_1, re.I)
if searchObj:
        return True
    else:
        return False
这很好,问题是它还检测空白,当我有空白时,它应该找不到任何东西。我想开发一个表达式,从匹配中排除空白。例如,对于这两个值,match为true且应为false:

string_2 = "Madrid: Newyork: good building Warranty: No"
string_3 = "Madrid:      Newyork: good building Warranty: No"

我正在尝试使用[^\s],但不起作用,是否有帮助?

您可以使用此正则表达式:

reg = r'Madrid:(.*?\S.*?)Newyork'

在中间确保您不匹配起始字符串和结束字符串之间的所有空白。< /p> 可以使用此正则表达式:

reg = r'Madrid:(.*?\S.*?)Newyork'

在中间确保您不匹配起始字符串和结束字符串之间的所有空白。< /p> 不使用另一正则表达式,可以删除所有空白:

searchObj = re.search(pattern, string_1.replace(" ", ""), re.I)

不使用其他正则表达式,您可以删除所有空白:

searchObj = re.search(pattern, string_1.replace(" ", ""), re.I)