<p>如果您想尝试不使用regex,那么下面是纯python方法:</p>
<pre><code>data="""config snmp trapreceiver create < community name > < trap receiver IP > sql things also comes in because < sammm name >"""
splitted_data=data.split()
chunks=[]
def _approach(list_):
flag=True
store=[]
track=[]
previous=[]
for i,j in enumerate(list_):
if j=='<':
if previous:
chunks.append(previous)
previous=[]
track.append(i)
flag=False
store.append(j)
elif j=='>':
store.append('>')
chunks.append(store)
track=[]
flag=True
store=[]
elif flag==False:
store.append(j)
else:
previous.append(j)
_approach(splitted_data)
new_final=[]
for j,i in enumerate(chunks):
if i[0]=='<':
new_final.append(i[0]+"_".join(i[1:-1])+i[-1])
else:
for ia in i:
new_final.append(ia)
print(*new_final)
</code></pre>
<p>输出:</p>
<pre><code>config snmp trapreceiver create <community_name> <trap_receiver_IP> sql things also comes in because <sammm_name>
</code></pre>