首页 新闻 会员 周边

请问如何把命令手册里的命令解析成对应的模式(pattern)?

0
悬赏园豆:20 [已解决问题] 解决于 2018-10-23 09:29

下面这段命令手册里的命令的意思是,command后面可以接option1或者option2,任选其一。

command [ option1 | option2 ]
也就等价于下面这两行命令
command option1
command option2

请问现在有什么可以直接利用的技术或工具可以完成从
command [ option1 | option2 ]

command option1
command option2
的转换吗?因为命令行数量实在是太多了,一个一个对应不完……

芽衣的主页 芽衣 | 菜鸟二级 | 园豆:384
提问于:2018-08-31 11:04
< >
分享
最佳答案
0

不知道这是不是你想要的

收获园豆:20
开心的小草 | 菜鸟二级 |园豆:243 | 2018-10-22 21:37

谢谢你的热心回答!
命令行除了A [ B | C ]的写法之外,还有A [ B [ C ] ]、A { B | C [ D | E ] [ F G ] }之类的复杂写法,因为种类太多,所以自己编代码的话就需要不断更新,光是想想都伤脑筋>o<

import re
ret = "command [option1 | option2 ]"
ret = ret.replace(' ','')
#ret = input(">>>")
li = re.split("[\[\]| ]",ret)

for i in li:
    if i == '':
        li.remove('')
com = []
for i in li:
    if i != li[0]:
        i = "{}{}{}".format(li[0]," ",i)
        com.append(i)
for i in com:
    print(i)
芽衣 | 园豆:384 (菜鸟二级) | 2018-10-23 09:29
其他回答(2)
0

写代码可以搞定

dudu | 园豆:31007 (高人七级) | 2018-08-31 11:33
0

正则表达式

jello chen | 园豆:7306 (大侠五级) | 2018-08-31 19:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册