【发布时间】:2019-05-26 16:17:10
【问题描述】:
我想使用正则表达式提取参数(命令行参数的类型)。 在这里,我将字符串作为输入并将参数作为组获取
基本上我希望正则表达式中的集合既排除又包含一些字符。
import re
ppatt=r"( --(?P<param>([^( --)]*)))"
a=[x.group("param") for x in re.finditer(ppatt,"command --m=psrmcc;ld - --kkk gtodf --klfj")]
print(a)
我希望输出是
['m=psrmcc;ld - ', 'kkk gtodf', 'klfj']
但输出是
['m=psrmcc;ld', 'kkk', 'klfj']
【问题讨论】:
-
仅供参考,如果您的要求与普通命令行参数没有任何不同,您可以使用argparse。
-
@ggorlen,谢谢回复。但在我的情况下,我还需要空格和特殊字符
标签: regex python-3.x regex-lookarounds regex-group regex-greedy