给定如下结构的文件名:
<type>.<unit>.<snip>.<hostname>.<number>.text
其中snip
是可选文本,可以包含额外的点
但是type
、unit
、hostname
等是固定的。你知道吗
例如:
interfaces.InterfacesIxLacp.router.001.text
policies.RoutingPoliciesIx.BOGONS-EXT-V6-in.router.002.text
我想匹配以下文件名: 文本
问题是<dot><snip><dot>
第二个是可选的,这取决于<snip>
的存在。
在上面的例子中,snip
等于BOGONS-EXT-V6-in
。你知道吗
什么是可以同时考虑这两种情况的通用正则表达式?
我使用Python标准库中的glob
来获取文件名:(this“works”)
glob.glob('policies.RoutingPoliciesIx.*router.*.text')
glob.glob('interfaces.InterfacesIxLacp.*router.*.text')
但是,我想要的是在regex中的.
(点)就在router
之前。因为.
后面的内容真正表示路由器主机名。你知道吗
我试过,但没有成功:
glob.glob('policies.RoutingPoliciesIx.*(\.)?router.*.text')
为了解决上述问题,您能帮助并建议正则表达式应该是什么样子吗?你知道吗
您需要改用
re.match
或re.search
。你知道吗如果名称部分的条件是固定的,您可以只使用字符串解析
相关问题 更多 >
编程相关推荐