正则表达式A'或'B

2024-06-11 04:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下几行:

  9 (1224) Starting item export: IPM.Appointment, Zomverbanden (wielen) monteren, 2,61 B, John \Calendar, E:\tmp\John Kn
  9 (1224) Starting item export: IPM.Appointment,  [JK], 7,97 KB, John Knappers\Calendar, E:
  9 (1224) Starting item export: IPM.Appointment, Niet op kantoor (Auto), 1,66 GB, John \Calendar, E:\tmp\John .
  9 (1224) Starting item export: IPM.Appointment, Bespip / Tobias , 9,13 KB, John \Calendar, E:\tmp\John K
  9 (1224) Starting item export: IPM.Appointment, Q-ware el / Mehan [JK], 8,01 MB, \Calendar, E:\tmp\J

如何找到这些字节和兆字节等的匹配模式?在

我试过了

^{pr2}$

但它返回4个元组的dict,但每行只需要1个项目:

2,61 B
7,97 KB
1,66 GB
9,13 KB
8,01 MB

Tags: 字节kbexportmbitemjohncalendartmp
1条回答
网友
1楼 · 发布于 2024-06-11 04:31:32

你可以重写它使它变短:

\d+,\d* (?:KB|MB|B|GB)

Live Demo

你可以把它缩短:

^{pr2}$

Live Demo

当然,这是假设数字和单位之间只有一个空格。你可以用[ \t]+代替空格,这样就可以是多个空格甚至制表符。在

如果10 KB有效(不含小数),则可以执行以下操作:

\d+(,\d+)? [KMG]?B

相关问题 更多 >