- Сообщения
- 5,379
- Репутация
- 2,724
Друзья, нужна помощь "регулярщиков"... Есть некая последовательность байт (данные битмапа):
0x000000000000000000000000000000000000000000000000C4C1C100D4CECE00C0B8B80000000000...
или
0x
00000000
00000000
00000000
00000000
00000000
00000000
C4C1C100
D4CECE00
C0B8B800
00000000
...
Нужно с помощью рег. выражений определить содержит ли этот бмтмап полупрозрачные точки или нет. За это отвечает четвертый байт для каждой точки. Т.е., если хотя бы один четвертый байт из всей последовательности не равен нулю, то возвращаем 1, в противном случае - 0. В данном примере полупрозрачности нет, т.к. одни нули...
Добавлено:
Другими словами, нужен шаблон, который из вешеприведенной строки убирает каждые первые 6 символов из 8 возможных. Тогда я могу записать так:
0x000000000000000000000000000000000000000000000000C4C1C100D4CECE00C0B8B80000000000...
или
0x
00000000
00000000
00000000
00000000
00000000
00000000
C4C1C100
D4CECE00
C0B8B800
00000000
...
Нужно с помощью рег. выражений определить содержит ли этот бмтмап полупрозрачные точки или нет. За это отвечает четвертый байт для каждой точки. Т.е., если хотя бы один четвертый байт из всей последовательности не равен нулю, то возвращаем 1, в противном случае - 0. В данном примере полупрозрачности нет, т.к. одни нули...
Добавлено:
Другими словами, нужен шаблон, который из вешеприведенной строки убирает каждые первые 6 символов из 8 возможных. Тогда я могу записать так:
Код:
$sData = '0x000000000000000000000000000000000000000000000000C4C1C100D4CECE00C0B8B80000000000'
$sPattern = ?
If StringReplace(StringRegExpReplace(StringTrimLeft($sData, 2), $sPattern, ''), '0', '') Then
ConsoleWrite('1' & @CR)
Else
ConsoleWrite('0' & @CR)
EndIf