diff options
| author | Arturs Artamonovs <arturs.artamonovs@protonmail.com> | 2025-11-17 00:32:31 +0000 |
|---|---|---|
| committer | Arturs Artamonovs <arturs.artamonovs@protonmail.com> | 2025-11-17 00:32:31 +0000 |
| commit | 2b599499dc26f0f93537d1bea4733eae68333a1c (patch) | |
| tree | dc3b177aa2c5cfcf88cf4d5012bb0555c9f7fb5e /ADSBDecoder/ADSBRegEx.swift | |
| parent | 9070c9e6b7c7ce5671f4fad85e4aefa8c27aad28 (diff) | |
| download | ADSBDecoder-2b599499dc26f0f93537d1bea4733eae68333a1c.tar.gz ADSBDecoder-2b599499dc26f0f93537d1bea4733eae68333a1c.zip | |
Save old work that I have no clue what I where doing
Diffstat (limited to 'ADSBDecoder/ADSBRegEx.swift')
| -rw-r--r-- | ADSBDecoder/ADSBRegEx.swift | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/ADSBDecoder/ADSBRegEx.swift b/ADSBDecoder/ADSBRegEx.swift index e9ebe17..2841467 100644 --- a/ADSBDecoder/ADSBRegEx.swift +++ b/ADSBDecoder/ADSBRegEx.swift @@ -7,7 +7,7 @@ import Foundation import RegexBuilder - +/* let matchADSBLong = Regex { Anchor.startOfLine "*" @@ -20,8 +20,35 @@ let matchADSBLong = Regex { ,count:28) ";" +}*/ +class MatchADSBLong { + let matchADSBLong = Regex { + Anchor.startOfLine + "*" + + Repeat( + CharacterClass( + ("a"..."f"), + ("0"..."9") + ) + ,count:28) + + ";" + } + + func prefixMatch(_ line: String) -> Regex<Regex<Substring>.RegexOutput>.Match? { + do { + if let match = try matchADSBLong.prefixMatch(in: line) { + return match + } + } catch { + return nil + } + return nil + } } +/* let matchADSBShort = Regex { Anchor.startOfLine "*" @@ -32,4 +59,29 @@ let matchADSBShort = Regex { ) ,count:14) ";" +}*/ + +class MatchADSBShort { + let matchADSBShort = Regex { + Anchor.startOfLine + "*" + Repeat( + CharacterClass( + ("a"..."f"), + ("0"..."9") + ) + ,count:14) + ";" + } + + func prefixMatch(_ line: String) -> Regex<Regex<Substring>.RegexOutput>.Match? { + do { + if let match = try matchADSBShort.prefixMatch(in: line) { + return match + } + } catch { + return nil + } + return nil + } } |
