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

时间:2018-04-11 10:15:33

标签: python regex

您好我正在尝试使用python开发一个脚本来检测两个单词之间是否存在某些内容。我正在使用正则表达式deinit

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

我正在尝试string_2 = "Madrid: Newyork: good building Warranty: No" string_3 = "Madrid: Newyork: good building Warranty: No" 但是没有工作,有什么帮助?

2 个答案:

答案 0 :(得分:3)

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

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

RegEx Demo

中间的

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

答案 1 :(得分:1)

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

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