在第二个反斜杠之后,我将使用什么正则表达式删除所有内容?

时间:2018-10-24 00:34:45

标签: c# regex

使用C#将PowerShell输出写入文本文件。文本文件中的输出如下所示:

Caption     : USB Mass Storage Device
DeviceID    : USB\VID_2188&PID_0754\000000000001
PNPDeviceID : USB\VID_2188&PID_0754\000000000001
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_187C&PID_0528\16.0
PNPDeviceID : USB\VID_187C&PID_0528\16.0
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_0BDA&PID_4042&MI_03\D&19A846&0&0003
PNPDeviceID : USB\VID_0BDA&PID_4042&MI_03\D&19A846&0&0003
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_060B&PID_7A01&MI_03\D&10693F50&0&0003
PNPDeviceID : USB\VID_060B&PID_7A01&MI_03\D&10693F50&0&0003
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_060B&PID_7A01&MI_02\D&10693F50&0&0002
PNPDeviceID : USB\VID_060B&PID_7A01&MI_02\D&10693F50&0&0002
Status      : OK  

我想在第二个反斜杠之后删除DeviceID和PNPDeviceID的所有内容,以便最终得到:

Caption     : USB Mass Storage Device
DeviceID    : USB\VID_2188&PID_0754\
PNPDeviceID : USB\VID_2188&PID_0754\
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_187C&PID_0528\
PNPDeviceID : USB\VID_187C&PID_0528\
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_0BDA&PID_4042&MI_03\
PNPDeviceID : USB\VID_0BDA&PID_4042&MI_03\
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_060B&PID_7A01&MI_03\
PNPDeviceID : USB\VID_060B&PID_7A01&MI_03\
Status      : OK

Caption     : USB Input Device
DeviceID    : USB\VID_060B&PID_7A01&MI_02\
PNPDeviceID : USB\VID_060B&PID_7A01&MI_02\
Status      : OK

使用正则表达式似乎是最好的方法,但是我不知道如何实现所需的结果。我愿意接受其他建议和/或意见。预先感谢。

3 个答案:

答案 0 :(得分:0)

docker run -it <image> /bin/bash

branches_with_orders= Branch.objects.filter(pickupstore__pickupdate__year=2006, pickupstore__pickupdate__month=1).annotate(num=Count('city')) branches_without_orders = Branch.objects.exclude(pk__in=branches_with_orders).extra(select={'num': 0}).values('city','num') all_branches = list(branches_without_orders) + list(branches_with_orders.values('city','num')) print all_branches >>> [{'city': u'A', 'num': 0}, {'city': u'B', 'num': 0}, {'city': u'C','num': 4}] 如果找不到查询值,则返回-1。

答案 1 :(得分:0)

/ [A-z0-9] + \\ / g将与此问题匹配

测试:USB \ VID_0BDA&PID_4042&MI_03 \ D&19A846&0&0003

结果:USB \ VID_0BDA&PID_4042&MI_03 \

答案 2 :(得分:0)

.(?<!\\)\\.(?<!\\)\\(?<After>.*)是第二个反斜杠之后的任意gimme(双\以在正则表达式中转义-引号中的内部代码,根据语言,您可能必须使用四斜杠)