我的软件输出以下两种类型的输出:
-rwx------ Administrators/Domain Users 456220672 0% 2018-04-16 16:04:40 E:\\_WiE10-18.0.100-77.iso
-rwxrwx--- Administrators/unknown 6677 0% 2018-04-17 01:33:23 E:\\program files\\cluster groups\\sql server (mssqlserver)\\logs\\progress-MOD-1523883344023-3001-Windows.log
我想从两个输出中获取文件名:
E:\\_WiE10-18.0.100-77.iso
,对于第一个E:\\program files\\cluster groups\\sql server (mssqlserver)\\logs\\progress-MOD-1523883344023-3001-Windows.log
,对于第二个如果我使用类似下面的代码,如果第二个参数中有空格,它将不起作用。如果域用户名中没有空格,则可以使用。在
^{pr2}$如何单独获取所有参数,包括文件名?在
除了使用regex之外,您还可以尝试类似的方法。在
它查找第一个出现的
':\\'
,并获取子字符串之前的驱动器号(即':\\'
)和子字符串后的完整文件路径。在编辑
与这个答案相比,帕特里克·阿特纳的answer更好并且完全回答了OP的问题。这只包括捕获文件路径。如果有人觉得有用,我就把这个答案留在这里。在
你可以使用一个正则表达式,比如
如果regex是一个选项:
输出:
^{pr2}$模式说明:
模式}+时间戳{}后跟一个空格,并将其后面的所有内容捕获到一个组中。在
r"^.*?\d\d:\d\d:\d\d (.*)"
查找linestart'^'
+尽可能少的任何东西{{cd5}用于它的标志。在
编辑:
捕捉个别事物需要更多的捕捉群体:
输出:
相关问题 更多 >
编程相关推荐