<p>如果您的最终目标是使用逗号连接行,直到遇到右括号,那么您根本不需要正则表达式。例如,你可以这样做:</p>
<pre><code>with open("input.txt", "r") as input:
result = ''
for line in input.readlines():
line = line.strip()
if len(line) > 0:
if not line.endswith(')'):
result += '{}{}'.format(line, ',')
else:
result += line.rstrip(')')
print(result)
else:
result = ''
# Output:
# JTS,FF,010000 AAAAAAAA,text-text1.1,-text1.2-
# JTS,FF,020000 AAAAAAAA,text-text text,text-text2,-text2
</code></pre>
<p>如果您真的想使用正则表达式从第三行提取文本,那么应该使用以下模式:<code>r'^\d{6}\s\w{8}(?=\n)$'</code>。例如:</p>
<pre><code>import re
third_lines = []
with open("input.txt", "r") as input:
for line in input.readlines():
match = re.match(r'^\d{6}\s\w{8}(?=\n)$', line)
if match:
third_lines.append(match.group())
print(third_lines)
# Output:
# ['010000 AAAAAAAA', '020000 AAAAAAAA']
</code></pre>
<hr/>
<p>还要注意,以<code>input = open("input.txt", "r")</code>的形式打开文件是<a href="https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files" rel="nofollow noreferrer">not a good practice</a>。使用<code>with</code>语句(例如<code>with open("input.txt", "r") as input</code>)打开文件可以确保在处理完文件后正确关闭它。你知道吗</p>