Я использую Text.Regex.TDFA в Lazy ByteString для извлечения некоторой информации из файла.Haskell Regex non capture group
Я должен извлечь каждый байт из этой строки:
27 FB D9 59 50 56 6C 8A
Вот что я попытался (моя строка начинается с места):
(\\ ([0-9A-Fa-f]{2}))+
, но у меня есть 2 проблемы:
- только последний матч возвращается [[ "27 FB D9 59 50 56 6C 8А", "8A", "8A"]]
- Я хочу, чтобы сделать внешнюю группу не caputing один (например: в других двигателях)
Вот мой минимальный код:
import System.IO()
import Data.ByteString.Lazy.Char8 as L
import Text.Regex.TDFA
main::IO()
main = do
let input = L.pack " 27 FB D9 59 50 56 6C 8A"
let entries = input =~ "(\\ ([0-9A-Fa-f]{2}))+" :: [[L.ByteString]]
print entries
1-й реш. спасибо Брайан Стивенс: D –