【发布时间】:2017-07-13 16:11:53
【问题描述】:
我在windows中使用如下代码:
hostname = Popen(['hostname'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
print(stdout)
regex = compile(b'('CO.*)')
m = regex.match(stdout)
if m != None:
print(m)
else:
print("Doesn't match")
我得到了输出:
b'COMPUTER\r\n'
<_sre.SRE_Match object; span=(0, 15), match=b'COMPUTER\r'>
我知道,在这种情况下我可以使用更简单(但出于某种原因我不想使用它):
socket.gethostname()
问题是,我不喜欢正则表达式匹配的整个输出:
<_sre.SRE_Match object; span=(0, 15), match=b'COMPUTER\r'>
我不仅要COMPUTER。
这可能吗,不使用另一个正则表达式?
【问题讨论】:
-
你试过
m.group(1).decode("ascii")吗? -
太棒了!请把它作为一个。回答。
标签: python regex python-3.5