擅长:python、mysql、java
<pre><code>import re
def get_checks(hostname):
pattern = re.compile(r"{}.*?(?= -)".format(re.escape(hostname)), re.S)
with open("Input.txt") as in_file:
return re.search(pattern, in_file.read())
print get_checks("www.snafudomain.at").group()
</code></pre>
<p>这将返回从<code>www.snafudomain.at</code>开始的所有行,直到找到<code> -</code>。生成的模式如下</p>
<pre><code>www\.snafudomain\.at.*?(?= -)
</code></pre>
<p><a href="http://regex101.com/r/eU6yI7" rel="nofollow">Online Demo</a></p>
<p>我们使用<code>re.escape</code>,因为您的主机名中有<code>.</code>。由于<code>.</code>在正则表达式中有特殊的含义,我们只希望正则表达式引擎将<code>.</code>视为文本点。你知道吗</p>