擅长:python、mysql、java
<p>我想你需要的是这样的东西。我试着把它写得简单明了:</p>
<pre><code>import re
input_data = 'AB SSP\n,BCD 110/XYZ/A14/ABD1.112\nAB AAD983/*ABC/0003\nAXYZ AB *SSD* 1:23:05\nAADX'
lines = input_data.split('\n')
for line in lines:
if re.match('.*(^|\s+)AB(\s+|$).*', line):
print('AB found')
else:
print('-')
</code></pre>
<p><strong>说明:</strong></p>
<p>首先我们将文本分解成几行,然后迭代这些行,并使用名为正则表达式或<code>re</code>的模块检查每一行,该模块用于检查字符串中的各种模式</p>
<p>在这里,我指定我想要一个<code>AB</code>,它要么在行首,要么前面有一个空格字符,要么在行尾,要么后面有一个空格字符</p>
<p>这是输出:</p>
<pre><code>AB found
-
AB found
AB found
-
</code></pre>
<h3>更新问题的答案:</h3>
<p>你的解释不是很清楚,但据我所知,你只想检查输入的第一行,如果它包含<code>AB</code>,那么你想打印第三行和第四行。同样,您的解释非常模糊,我几乎可以肯定我遗漏了什么,但无论如何,代码如下:</p>
<pre><code>import re
input_data = 'AB SSP\n,BCD 110/XYZ/A14/ABD1.112\nAB AAD983/*ABC/0003\nAXYZ AB *SSD* 1:23:05\nAADX'
lines = input_data.split('\n')
if re.match('.*(^|\s+)AB(\s+|$).*', lines[0]):
print(lines[2])
print(lines[3])
</code></pre>