Проблема У меня проблема с REGEX и я использую ее для того, что мне нужно сделать.У меня есть пара миллионов строк в нескольких дамп-файлах, которые мне нужно поместить в исправные электронные таблицы.
Это насколько я смог получить.
Проблема в том, чтобы заставить их всехОтдельно для меня, так как Excel не импортирует их так хорошо, как они.
Я столкнулся с проблемой, когда, если элементы не являются следующими в списке, они вообще не сопоставляются.
Кроме того, проблема в том, что строки не всегда перечислены в одном и том же порядке от объекта к объекту
Это REGEX, который сделал меня самым дальним, но я полностью застрял сейчас.
(?<=^Object\s{3})(\w*).(?:^Type\s{2,3}(\S*).*?)*.(?:^DeviceId\s{2,3}(\S*).*?)*.(?:^Alias\s{2,3}(\S*).*?)*(?:^InstanceId\s{2,3}(\S*).*?)*.(?:^Description\s{2,3}(\S*).*?)*.(?:^Location\s{2,3}(\S*).*?)*.(?:^NetworkId\s{2,3}(\S*).*?)*.(?:^SerialNum\s{2,3}(\S*).*?)*.(?:^DefaultRouter\s{2,3}(\S*).*?)*.(?:^EthernetId\s{2,3}(\S*).*?)*.(?:^IPAddress\s{2,3}(\S*).*?)*.(?:^SubnetMask\s{2,3}(\S*).*?)*.(?:^PPPSubnetMask\s{2,3}(\S*).*?)*.(?:^Port\s{2,3}(\S*).*?)*.(?:^DefaultPort\s{2,3}(\S*).*?)*.(?:^BACnetDeviceId\s{2,3}(\S*).*?)*.(?:^BacnetMSTPNetNum\s{2,3}(\S*).*?)*.(?:^Baud\s{2,3}(\S*).*?)*.(?:^DefaultBaud\s{2,3}(\S*).*?)*.(?:^Channel\s{2,3}(\S*).*?)*.(?:^VersionNum\s{2,3}(\S*).*?)*.(?:^Properties\s{2,3}(\S*).*?)*.(?:^FullName\s{2,3}(\S*).*?)*.(?:^Password\s{2,3}(\S*).*?)*.(?:^SecurityLevel\s{2,3}(\S*).*?)*.(?:^CreatedBy\s{2,3}(\S*).*?)*.(?:^Owner\s{2,3}(\S*).*?)*.(?:^InfinetCtlr\s{2,3}(\S*).*?)*.(?:^InfinetId\s{2,3}(\S*).*?)*.(?:^RefreshRate\s{2,3}(\S*).*?)*.(?:^Format\s{2,3}(\S*).*?)*.(?:^Value\s{2,3}(\S*).*?)*.(?:^DBQualifier\s{2,3}(\S*).*?)*.(?:^DatabaseMode\s{2,3}(\S*).*?)*.(?:^LogIntervalSecs\s{2,3}(\S*).*?)*.(?:^LogType\s{2,3}(\S*).*?)*.(?:^Units\s{2,3}(\S*).*?)*.(?:^Param1\s{2,3}(\S*).*?)*.(?:^Param3\s{2,3}(\S*).*?)*.(?:^Param4\s{2,3}(\S*).*?)*.(?:^Param5\s{2,3}(\S*).*?)*.(?:^Param6\s{2,3}(\S*).*?)*.(?:^DefaultMode\s{2,3}(\S*).*?)*.(?:^XdriverFile\s{2,3}(\S*).*?)*.*?(?=^EndObject)
Вот пример данных, которые я пытаюсь получить:
Object CHWDifPrs07
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWDifPrs07
CreateTime 5/10/2011 12 2 23 PM
TimeLocked 6/16/2014 12 10 54 PM
InstanceId 7439/17
Channel 15
Description CHW DP 7
Export True
Format #.##
Size 400
Port
Units Psi
EndObject
Object CHWRTmp05
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWRTmp05
CreateTime 5/10/2011 12 2 22 PM
TimeLocked 6/16/2014 12 11 17 PM
InstanceId 7439/12
Channel 14
Description CHWR Temp 5
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object CHWRTmp06
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWRTmp06
CreateTime 5/10/2011 12 2 23 PM
TimeLocked 5/11/2011 4 43 48 PM
InstanceId 7439/13
Channel 12
Description ChwR Temp 6
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object CHWRTmp07
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWRTmp07
CreateTime 5/10/2011 12 2 23 PM
TimeLocked 5/11/2011 9 29 45 AM
InstanceId 7439/14
Channel 17
Description CHWR Temp 7
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object CHWSTmp05
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWSTmp05
CreateTime 5/10/2011 12 2 22 PM
TimeLocked 8/15/2014 10 25 30 AM
InstanceId 7439/9
Channel 13
Description CHWS Temp 5
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object CHWSTmp06
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWSTmp06
CreateTime 5/10/2011 12 2 22 PM
TimeLocked 5/11/2011 9 29 59 AM
InstanceId 7439/10
Channel 11
Description ChWS Temp 6
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object CHWSTmp07
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias CHWSTmp07
CreateTime 5/10/2011 12 2 22 PM
TimeLocked 5/11/2011 9 30 6:00 AM
InstanceId 7439/11
Channel 16
Description CHWS Temp 7
Export True
Format ###.##
Size 400
Port
Units Deg.F
EndObject
Object SpaceRHF13
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias SpaceRHF13
CreateTime 5/10/2011 12 2 22 PM
AlarmInfo True
TimeLocked 8/27/2014 12 34 1:00 PM
InstanceId 7439/8
Channel 18
Description Space Relative Humidity F.13
Export True
Format %#.#
Size 96
Port
ExtLogEnable True
AlarmLinks
Root\Mia_SpaceRH_Hi 1 Enabled
Root\Mia_SpaceRH_Low 2 Enabled
EndObject
Object SpaceRHF15
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias SpaceRHF15
CreateTime 5/10/2011 12 2 22 PM
AlarmInfo True
TimeLocked 8/27/2014 12 33 35 PM
InstanceId 7439/7
Channel 20
Description Space Relative Humidity F.15
Export True
Format %###.#
Size 96
Port
ExtLogEnable True
AlarmLinks
Root\Mia_SpaceRH_Hi 1 Enabled
Root\Mia_SpaceRH_Low 2 Enabled
EndObject
Object SpaceRHH15
Type InfinityInput
DeviceId Terremark.FL\S300_3SC\S300_M08
Alias SpaceRHH15
CreateTime 5/10/2011 12 2 22 PM
AlarmInfo True
TimeLocked 11/4/2015 11 50 5:00 AM
InstanceId 7439/6
Channel 22
Description Space Relative Humidity H.15