擅长:python、mysql、java
<p>具有特定正则表达式模式:</p>
<pre><code>import re
s = '''abc xyz pq m_www.google.in_10 -name itel.google.in
abc xyz pq I_www.google.in_9 -name itel.google.com
abc xyz pq I_www.google.in_8
abc xyz pq I.www_google.com_10 -name itel_google.com_9'''
res = list(map(list, re.findall(r'\babc xyz pq (\w+[.\w]+)(?: -name (\w+[.\w]+))?', s)))
pprint(res)
</code></pre>
<p>预期输出(列表列表):</p>
<pre><code>[['m_www.google.in_10', 'itel.google.in'],
['I_www.google.in_9', 'itel.google.com'],
['I_www.google.in_8', ''],
['I.www_google.com_10', 'itel_google.com_9']]
</code></pre>
<hr/>
<p>正则表达式模式详细信息:</p>
<ul>
<li><p><code>\b</code>-单词边界</p></li>
<li><p><code>(\w+[.\w]+)</code>-捕获单词字符<code>\w+</code>,后跟<code>.</code>字符或单词字符序列<code>[.\w]+</code></p></li>
<li><code>(?: ...)</code>-将组标记为非捕获,但在上面的情况下,它包含另一个捕获的组(<em>内部</em>组)</li>
<li><code>(...)?</code>-将组标记为<em>可选</em>(<code>?</code>量词匹配在0到1倍之间)</li>
</ul>