嗨,我正在尝试使用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'


RegEx Demo

中间的\S确保您不匹配开始和结束字符串之间的所有空格。

关于python - 如何使用python re查找两个字符之间的信息(不包括空格)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49772415/

10-12 20:47