有更好的方法来处理正则表达式
>>> HOSTS=['backup-ros', 'backupa-files', 'print-server1','print-server2']
>>> for host in HOSTS:
... if 'backup' in host:
...
backup-ros
backupa-files
部分正确。你知道吗
我试过这个:
a=re.findall(r'backup-(\w+)', ' '.join(HOSTS))
>>> a
['ros']
给了我“罗斯”。你知道吗
最后:
a=re.match(r'backup-(\w+)', ' '.join(HOSTS))
>>> a.group()
'backup-ros'
我认为这是正确的。不过,我还是想问,这是不是正确的方法,更好的方法。你知道吗
编辑:我在评论了几句之后意识到,不清楚我在找什么。我需要在一个目录中找到名为“backup somename”的目录名。但是我不想包括那些名字是“backupasomename”或“backupbsomename”的目录。 这就是为什么我的第一个for循环对我来说不够好。你知道吗
提前谢谢。 盎司
而不是这个
使用
问题是您的正则表达式与整个模式匹配,但在最后是分组\w+。这是一个更简单的方法
如果没有regex,您能考虑
.startswith()
吗?你知道吗无需将列表加入字符串。你知道吗
相关问题 更多 >
编程相关推荐