擅长:python、mysql、java
<p>如果您正在寻找正则表达式解决方案,您可以提出:</p>
<pre><code>^Name:\s* # look for Name:, followed by whitespaces
# at the beginning of a line
(?P<name>.+) # capture the rest of the line
# in a group called "name"
[\s\S]+? # anything afterwards lazily
^Clash\ Point:\s* # same construct as above
(?P<point>.+) # same as the other group
</code></pre>
<p>见<a href="https://regex101.com/r/eP4zP6/1" rel="nofollow"><strong>a demo on regex101.com</strong></a>。<br/>
</p><hr/>
翻译成<code>Python</code>代码,这将是:
<pre><code>import re
rx = re.compile(r"""
^Name:\s*
(?P<name>.+)
[\s\S]+?
^Clash\ Point:\s*
(?P<point>.+)""", re.VERBOSE|re.MULTILINE)
for match in rx.finditer(your_string_here):
print match.group('name')
print match.group('point')
</code></pre>
<p>这将输出:</p>
<pre><code>Clash1
3.884m, -2.474m, 2.659m
Clash2
3.884m, 3.533m, 2.659m
</code></pre>
<p>见<a href="http://ideone.com/o1kuJ4" rel="nofollow"><strong>a working demo on ideone.com</strong></a></p>