Výrazy pro analýzu¤
Přehled¤
Výrazy pro analýzu jsou funkce pro analýzu určité sekvence znaků.
Základní analyzátory mohou rozlišovat mezi číslicemi, písmeny a mezerami:
!PARSE.DIGIT,!PARSE.DIGITS: Analyzovat jednotlivé nebo více číslic.!PARSE.LETTER,!PARSE.LETTERS: Analyzovat jednotlivá nebo více písmen.!PARSE.SPACE,!PARSE.SPACES: Analyzovat jednotlivé nebo více znaků pro mezeru.!PARSE.CHAR,!PARSE.CHARS: Analyzovat jednotlivé nebo více znaků.!PARSE.EOF: Ověřit, že bylo dosaženo konce vstupního řetězce.
Následující výrazy se používají pro analýzu znaků z vlastního souboru znaků a hledání specifických znaků v vstupních řetězcích:
!PARSE.EXACTLY: Analyzovat pouze specifickou sekvenci znaků.!PARSE.UNTIL: Analyzovat do doby, než je nalezen specifický znak.!PARSE.BETWEEN: Analyzovat mezi dvěma znaky.!PARSE.ONEOF: Analyzovat pouze jeden z povolených znaků.!PARSE.NONEOF: Analyzovat každý znak kromě zakázaných.!PARSE.REGEX: Analyzovat znaky odpovídající regulárnímu výrazu.
Následující výrazy se používají pro analýzu dat a časů v různých formátech:
!PARSE.DATETIME: Analyzovat datum a čas.!PARSE.MONTH: Analyzovat měsíc v různých formátech.!PARSE.FRAC: Analyzovat desetinná čísla (což je užitečné pro analýzu mikrosekund).
Následující výrazy se používají pro analýzu specifických typů řetězců:
!PARSE.IP: Analyzovat IP adresu.!PARSE.MAC: Analyzovat MAC adresu.
Následující výrazy se používají pro analýzu strukturovaných dat key-value:
!PARSE.CEFKV: Analyzovat dvojice klíč-hodnota ve formátu CEF (Common Event Format).!PARSE.FIELDS: Analyzovat více polí oddělených určitým znakem.
!PARSE.DIGIT¤
Analyzovat jednu číslici.
Typ: Analyzátor.
Synopse:
!PARSE.DIGIT
Example
Vstupní řetězec: 2
!PARSE.DIGIT
!PARSE.DIGITS¤
Analyzovat sekvenci číslic.
Typ: Analyzátor.
Synopse:
!PARSE.DIGITS
min: <...>
max: <...>
exactly: <...>
exactlyurčuje přesný počet číslic k analýze.minamaxurčují minimální a maximální počet číslic k analýze. Nemohou být kombinovány s parametremexactly.- Pokud není uvedeno žádné z polí
min,maxaexactly, analyzuje se co nejvíce číslic. Výchozí minimum je1.
Warning
Pole exactly nelze použít společně s poli min nebo max. A samozřejmě hodnota max nemůže být menší než hodnota min.
Example
Vstupní řetězec: 123
!PARSE.DIGITS
max: 4
Více příkladů
Analyzovat co nejvíce číslic:!PARSE.DIGITS
!PARSE.DIGITS
exactly: 3
!PARSE.DIGITS
min: 2
max: 4
!PARSE.LETTER¤
Analyzovat jedno písmeno.
Pod písmeny máme na mysli latinská písmena od A do Z, jak velká, tak malá.
Typ: Analyzátor.
Synopse:
!PARSE.LETTER
Example
Vstupní řetězec: A
!PARSE.LETTER
!PARSE.LETTERS¤
Analyzovat sekvenci písmen.
Pod písmeny máme na mysli latinská písmena od A do Z, jak velká, tak malá.
Typ: Analyzátor.
Synopse:
!PARSE.LETTERS
min: <...>
max: <...>
exactly: <...>
Pole min, max a exactly jsou volitelná. Pokud není uvedeno min, výchozí minimum je 1.
Warning
Pole exactly nelze použít společně s poli min nebo max.
A samozřejmě hodnota max nemůže být menší než hodnota min.
Example
Vstupní řetězec: cat
!PARSE.LETTERS
max: 4
Více příkladů
Analyzovat co nejvíce písmen:!PARSE.LETTERS
!PARSE.LETTERS
exactly: 3
!PARSE.LETTERS
min: 2
max: 4
!PARSE.SPACE¤
Analyzovat jeden znak pro mezeru.
Typ: Analyzátor.
Synopse:
!PARSE.SPACE
!PARSE.SPACES¤
Analyzovat sekvenci znaků pro mezeru.
Analyzovat co nejvíce znaků pro mezeru:
Typ: Analyzátor.
Synopse:
!PARSE.SPACES
!PARSE.CHAR¤
Analyzovat jeden znak jakéhokoli typu.
Typ: Analyzátor.
Synopse:
!PARSE.CHAR
Example
Vstupní řetězec: @
!PARSE.CHAR
!PARSE.CHARS¤
Analyzovat sekvenci znaků.
Typ: Analyzátor.
Synopse:
!PARSE.CHARS
min: <...>
max: <...>
exactly: <...>
Pole min, max a exactly jsou volitelná. Pokud není uvedeno min, výchozí minimum je 1.
Warning
Pole exactly nelze použít společně s poli min nebo max.
A samozřejmě hodnota max nemůže být menší než hodnota min.
Example
Vstupní řetězec:_ name@123_
!PARSE.CHARS
max: 8
Tip
Použijte !PARSE.CHARS s výchozími nastaveními pro analýzu až do konce řetězce.
Více příkladů
Analyzovat co nejvíce znaků:!PARSE.CHARS
!PARSE.CHARS
exactly: 3
!PARSE.CHARS
min: 2
max: 4
!PARSE.EOF¤
Ověří, že bylo dosaženo konce vstupního řetězce.
Typ: Analyzátor.
Synopse:
!PARSE.EOF
Analyzátor uspěje pouze tehdy, když je aktuální pozice analýzy na konci vstupního řetězce.
Example
Vstupní řetězec: abc
!PARSE.KVLIST
- 'abc'
- !PARSE.EOF
!PARSE.EXACTLY¤
Analyzovat přesně definovanou sekvenci znaků.
Typ: Analyzátor.
Synopse:
!PARSE.EXACTLY
what: <...>
nebo kratší verze:
!PARSE.EXACTLY <...>
Example
Vstupní řetězec:_Hello world!
!PARSE.EXACTLY
what: "Hello"
!PARSE.UNTIL¤
Analyzovat sekvenci znaků, dokud není nalezen specifický znak.
Typ: Analyzátor.
Synopse:
!PARSE.UNTIL
what: <...>
stop: <before/after>
eof: <true/false>
nebo kratší verze:
!PARSE.UNTIL <...>
-
what: Určuje jeden (a pouze jeden) znak, který se má hledat v vstupním řetězci. -
stop: Určuje, zda by měl být zastavovací znak analyzován nebo ne. Možné hodnoty:beforeneboafter(výchozí). -
eof: Určuje, zda bychom měli analyzovat až do konce řetězce, pokud symbolwhatnení nalezen. Možné hodnoty:truenebofalse(výchozí). -
escape: Určuje únikový znak.
Info
Pole what musí být jediný znak. Ale některé znaky pro mezeru mohou být také použity, jako například tab.
Pro hledání sekvence znaků viz výraz !PARSE.CHARS.LOOKAHEAD.
Example
Vstupní řetězec: 60290:11
!PARSE.UNTIL
what: ":"
Více příkladů
Analyzovat do: symbolu a zastavit se před ním:
!PARSE.UNTIL
what: ":"
stop: "before"
!PARSE.UNTIL ' '
, symbolu nebo analyzovat až do konce řetězce, pokud není nalezen:
!PARSE.UNTIL
what: ","
eof: true
tab symbolu:
!PARSE.UNTIL
what: 'tab'
Vstupní řetězec:
CRED_REFR\|success\|fail|
!PARSE.UNTIL
what: '|'
escape: '\'
!PARSE.BETWEEN¤
Analyzovat sekvenci znaků mezi dvěma specifickými znaky.
Typ: Analyzátor.
Synopse:
!PARSE.BETWEEN
what: <...>
start: <...>
stop: <...>
escape: <...>
nebo kratší verze:
!PARSE.BETWEEN <...>
-
what- určuje mezi kterými stejnými znaky bychom měli analyzovat. -
start,stop- určuje mezi kterými různými znaky bychom měli analyzovat. -
escape- určuje únikový znak.
Example
Vstupní řetězec:_ [10/May/2023:08:15:54 +0000]
!PARSE.BETWEEN
start: '['
stop: ']'
Více příkladů
Analyzovat mezi dvojitými uvozovkami:!PARSE.BETWEEN
what: '"'
!PARSE.BETWEEN '"'
Vstupní řetězec:
"one, \"two\", three"
!PARSE.BETWEEN
what: '"'
escape: '\'
!PARSE.ONEOF¤
Analyzovat jeden znak z vybraného souboru znaků.
Typ: Analyzátor.
Synopse:
!PARSE.ONEOF
what: <...>
!PARSE.ONEOF <...>
Example
Vstupní řetězce:
process finished with status 0
process finished with status 1
process finished with status x
!PARSE.KVLIST
- "process finished with status "
- !PARSE.ONEOF
what: "01x"
!PARSE.NONEOF¤
Analyzovat jeden znak, který není ve vybraném souboru znaků.
Typ: Analyzátor.
Synopse:
!PARSE.NONEOF
what: <...>
nebo kratší verze:
!PARSE.NONEOF <...>
Example
Vstupní řetězec:_ Wow!
!PARSE.NONEOF
what: ",;:[]()"
!PARSE.REGEX¤
Analyzovat sekvenci znaků, která odpovídá regulárnímu výrazu.
Typ: Analyzátor.
Synopse:
!PARSE.REGEX
what: <...>
Example
Vstupní řetězec:_ FTVW23_L-C: Message...
Výstup: FTVW23_L-C
!PARSE.REGEX
what: '[a-zA-Z0-9_\-0]+'
!PARSE.DATETIME¤
Analyzovat datum a čas.
Typ: Analyzátor.
Synopse:
!PARSE.DATETIME
- year: <...>
- month: <...>
- day: <...>
- hour: <...>
- minute: <...>
- second: <...>
- microsecond: <...>
- nanosecond: <...>
- timezone: <...>
- period: <...>
- Pole
monthadayjsou povinná. - Pole
yearje volitelné. Pokud není uvedeno, bude použita funkce smart year. Podporovány jsou jak 2, tak 4-místná čísla. - Pole
hour,minute,second,microsecond,nanosecondjsou volitelná. Pokud nejsou uvedena, bude použita výchozí hodnota 0. - Uvedení pole mikrosekund jako
microsecond?umožňuje analyzovat mikrosekundy nebo ne, v závislosti na jejich přítomnosti ve vstupním řetězci. - Pole
timezoneje volitelné. Pokud není uvedeno, bude použita výchozí hodnotaUTC. Přečtěte si více o analýze časových pásem zde. - Pole
periodje volitelné. Pokud není uvedeno, použije se 24hodinový formát. Hodnota období (AM/PM) nerozlišuje velikost písmen.
Běžné formáty datumu a času
Použijte Zkratky pro analýzu formátů datumu a času RFC 3339, RFC 3164 a ISO 8601.
UNIX čas
Pro analýzu datumu a času v UNIX čase použijte !PARSE.DATETIME EPOCH.
Tip
Použijte !PARSE.MONTH pro analýzu měsíce.
Tip
Použijte !PARSE.FRAC pro analýzu mikrosekund a nanosekund. Všimněte si, že tento výraz spotřebovává . a , také. Nezpracovávejte je odděleně.
Example
Vstupní řetězec: 2022-10-13T12:34:56.987654
!PARSE.DATETIME
- year: !PARSE.DIGITS
- '-'
- month: !PARSE.MONTH 'number'
- '-'
- day: !PARSE.DIGITS
- 'T'
- hour: !PARSE.DIGITS
- ':'
- minute: !PARSE.DIGITS
- ':'
- second: !PARSE.DIGITS
- microsecond: !PARSE.FRAC
base: "micro"
Dvou-místný rok
Analyzovat datum a čas s dvou-místným rokem:
Vstupní řetězec: 22-10-13T12:34:56.987654
!PARSE.DATETIME
- year: !PARSE.DIGITS
- '-'
- month: !PARSE.MONTH "number"
- '-'
- day: !PARSE.DIGITS
- 'T'
- hour: !PARSE.DIGITS
- ':'
- minute: !PARSE.DIGITS
- ':'
- second: !PARSE.DIGITS
- microsecond: !PARSE.FRAC
base: micro
Bez roku, volitelné mikrosekundy
Analyzovat datum a čas bez roku, se zkráceným názvem měsíce a volitelnými mikrosekundami:
Vstupní řetězce:
Aug 17 12:00:00
Aug 17 12:00:00.123
Aug 17 12:00:00.123456
!PARSE.DATETIME
# Ve vstupním řetězci není rok, použije se funkce smart year.
- month: !PARSE.MONTH 'short'
- !PARSE.SPACE
- day: !PARSE.DIGITS
- !PARSE.SPACE
- hour: !PARSE.DIGITS
- ":"
- minute: !PARSE.DIGITS
- ":"
- second: !PARSE.DIGITS
- microsecond?: !PARSE.FRAC
base: "micro"
max: 6
V tomto případě je year určen automaticky funkcí smart year, což v praxi znamená použití aktuálního roku.
Milisekundy
Analyzovat datum a čas s milisekundami:
Vstupní řetězec: 2023-03-23T07:00:00.734
!PARSE.DATETIME
- year: !PARSE.DIGITS
- "-"
- month: !PARSE.DIGITS
- "-"
- day: !PARSE.DIGITS
- "T"
- hour: !PARSE.DIGITS
- ":"
- minute: !PARSE.DIGITS
- ":"
- second: !PARSE.DIGITS
- microsecond: !PARSE.FRAC
base: milli
max: 3
Nanosekundy
Analyzovat datum a čas s nanosekundami:
Vstupní řetězec: 2023-03-23T07:00:00.734323900
!PARSE.DATETIME
- year: !PARSE.DIGITS
- "-"
- month: !PARSE.DIGITS
- "-"
- day: !PARSE.DIGITS
- "T"
- hour: !PARSE.DIGITS
- ":"
- minute: !PARSE.DIGITS
- ":"
- second: !PARSE.DIGITS
- nanosecond: !PARSE.FRAC
base: "nano"
max: 9
Období (AM/PM)
Analyzovat datum a čas s obdobím (AM/PM):
Vstupní řetězec: 7/24/2025 4:27:44 AM
!PARSE.DATETIME
- month: !PARSE.MONTH "number"
- "/"
- day: !PARSE.DIGITS
- "/"
- year: !PARSE.DIGITS
- !PARSE.SPACE
- hour: !PARSE.DIGITS
- ":"
- minute: !PARSE.DIGITS
- ":"
- second: !PARSE.DIGITS
- !PARSE.SPACE
- period: !PARSE.CHARS
Časové pásmo¤
Časové pásmo může být uvedeno v logu, nebo může chybět. Existují dva přístupy:
-
Časové pásmo se parsuje ze vstupního řetězce. V tom případě použijte vhodný parsovací výraz pro část s časovým pásmem.
!PARSE.DATETIME - ... - timezone: !PARSE.UNTIL " "Povolené formáty časových pásem:
Z,UTC,CET,CEST,+02:00,-0600. -
Časové pásmo je pevně dané. V tom případě ho zadejte jako IANA časové pásmo.
!PARSE.DATETIME - ... - timezone: "Europe/Prague"To je užitečné, když časové pásmo v logu chybí nebo je uvedeno nesprávně.
Časové pásmo ze vstupu
Analyzovat datum a čas, které ve vstupním řetězci obsahují časové pásmo.
Vstupní řetězce:
2024-04-15T12:00:00+04:00 ...(další obsah logu)
2024-04-15T12:00:00-02:00 ...
2024-04-15T12:00:00Z ...
!PARSE.DATETIME
- year: !PARSE.DIGITS
- '-'
- month: !PARSE.MONTH 'number'
- '-'
- day: !PARSE.DIGITS
- 'T'
- hour: !PARSE.DIGITS
- ':'
- minute: !PARSE.DIGITS
- ':'
- second: !PARSE.DIGITS
- timezone: !PARSE.UNTIL " "
Vstupní řetězce:
2024-04-15T12:00:00 CET ...(další obsah logu)
2024-04-15T12:00:00 UTC ...
!PARSE.DATETIME
- year: !PARSE.DIGITS
- '-'
- month: !PARSE.MONTH 'number'
- '-'
- day: !PARSE.DIGITS
- 'T'
- hour: !PARSE.DIGITS
- ':'
- minute: !PARSE.DIGITS
- ':'
- second: !PARSE.DIGITS
- !PARSE.SPACE
- timezone: !PARSE.UNTIL " "
Smart year¤
Funkce smart year odhaduje úplný rok z uvedeného měsíce s ohledem na aktuální rok a měsíc, aby určila nejpravděpodobnější čtyřmístný rok.
Zkratky¤
Podporované zkrácené formy (malá i velká písmena):
ISO 8601¤
!PARSE.DATETIME ISO8601
Tento výraz parsuje datum a čas podle ISO 8601. Časové pásmo může být parsováno ze vstupního řetězce, nebo pokud chybí, může být nastaveno v konfiguraci lmio-parsec.
Příklady datumů a časů, které lze parsovat pomocí zkratky:
2024-04-12T10:16:21Z
20240412T101621Z
2024-12-11T11:17:21.123456+00:00
2024-04-12T03:16:21−07:00
2024-04-12T03:16:21
RFC 3339¤
!PARSE.DATETIME RFC3339
Tento výraz parsuje datum a čas podle RFC 3339. Časové pásmo je vždy parsováno ze vstupního řetězce.
Příklady datumů a časů, které lze parsovat pomocí zkratky:
1985-04-12T23:20:50.52Z
1996-12-19T16:39:57-08:00
2021-06-29 16:51:43.987654+02:00
RFC 3164¤
!PARSE.DATETIME RFC3164
Tento výraz parsuje datum a čas podle RFC 3164. Rok je určen funkcí smart year. Časové pásmo musí být nastaveno v konfiguraci LogMan.io Parsec, jinak se považuje za UTC.
Příklady datumů a časů, které lze parsovat pomocí zkratky:
Apr 24 15:25:20
Oct 3 20:33:02
AUG 4 10:20:20
Epoch¤
!PARSE.DATETIME EPOCH
!PARSE.DATETIME epoch
Tento výraz parsuje datum a čas podle Unix time. Umožňuje parsovat různé reprezentace Unix času, například sekundy, milisekundy, mikrosekundy a sekundy s desetinnou částí mikro/milisekund.
Příklady datumů a časů, které lze parsovat pomocí zkratky:
1731410205 - sekundy
1727951634.687 - sekundy s desetinnou částí mikrosekund
1728564383160 - milisekundy
!PARSE.MONTH¤
Analyzuje měsíc.
Typ: Analyzátor.
Synopse:
!PARSE.MONTH
what: <...>
nebo kratší verze:
!PARSE.MONTH <...>
Parametr what určuje formát názvu měsíce.
Možné hodnoty:
number: číselná reprezentace, např.01pro leden,12pro prosinecshort: třípísmenná reprezentace, např.Janpro leden,Decpro prosinecfull: plný název, např.January,December
Tip
Použijte !PARSE.MONTH pro analýzu měsíce jako součásti !PARSE.DATETIME.
Example
Vstupní řetězec: 10/Jan/2023:08:15:54
!PARSE.MONTH 'short'
Vstupní řetězec: 10/01/2023:08:15:54
!PARSE.MONTH 'number'
Vstupní řetězec: 10/January/2023:08:15:54
!PARSE.MONTH 'full'
!PARSE.FRAC¤
Analyzuje desetinnou část.
Warn
Parsování desetinné části zahrnuje i tečku (.) a čárku (,) jako oddělovač.
Typ: Analyzátor.
Synopse:
!PARSE.FRAC
base: <...>
max: <...>
-
base: Základ desetinné části. Možné hodnoty:millipro základ10^-3micropro základ10^-6nanopro základ10^-9
-
max: Maximální počet číslic podle hodnotybase. Pokud parametrmaxnení uveden, použijí se výchozí hodnoty3,6,9.
Tip
Použijte !PARSE.FRAC pro analýzu mikrosekund nebo nanosekund jako součásti !PARSE.DATETIME.
Example
Vstupní řetězce:
Aug 22 05:40:14.264
Aug 22 05:40:14.264023
!PARSE.FRAC
base: "micro"
nebo plná forma:
!PARSE.FRAC
base: "micro"
max: 6
!PARSE.IP¤
Analyzuje IP adresu ve formátu IPv4 i IPv6.
Vrací číselnou reprezentaci IP adresy.
Typ: Analyzátor.
Synopse:
!PARSE.IP
Example
Vstupní řetězec: 193.178.72.2
!PARSE.IP
!PARSE.MAC¤
Analyzuje MAC adresu v jednom z těchto formátů:
XX:XX:XX:XX:XX:XX— oddělené dvojtečkamiXX-XX-XX-XX-XX-XX— oddělené pomlčkamiXXXX.XXXX.XXXX— oddělené tečkami (Cisco styl)0xXXXXXXXXXXXX— hex kódování
Vrací číselnou reprezentaci MAC adresy.
Typ: Analyzátor.
Synopse:
!PARSE.MAC
Example
Vstupní řetězec: 4d:3b:4c:bc:e5:6d
!PARSE.MAC
!PARSE.CEFKV¤
Analyzuje záznamy ve formátu CEF (Common Event Format) key-value a extrahuje strukturovaná pole ze vstupního řetězce.
Každé pole má formát key=value, = je pevný oddělovač a jednotlivé dvojice jsou odděleny jednou mezerou.
Výraz správně zpracuje hodnoty obsahující mezery, pokud jsou jednotlivé dvojice klíč-hodnota správně formátované.
Pole extrahovaná pomocí !PARSE.CEFKV odpovídají polím definovaným v referenci CEF standardu. Úplný seznam podporovaných polí a detailní specifikace formátu najdete v oficiální dokumentaci:
Implementing ArcSight Common Event Format (CEF) - Version 26
Typ: Analyzátor.
Synopse:
!PARSE.CEFKV
custom_to_kv: <true/false>
custom_to_kvje nepovinné (výchozí:false). Pokud jetrue, vlastní CEF label pole (cs1Label,cn2Labela podobně) se převedou na běžné dvojice klíč-hodnota.
Example
Vstupní řetězec: start=1731934886000 end=1731934886000 ahost=aac-ax-01 agt=192.168.57.141 agentZoneURI=/All Zones/ArcSight System IPv4/Private Address Space Zones/RFC1918: 192.168.0.0-192.168.255.255 amac=00-50-56-8C-85-D4 av=8.4.6.9408.1 atz=Europe/Prague at=syslog dvchost=pfsense1data.local dvc=192.168.51.2 dtz=Europe/Prague geid=3293577591578960401 parserVersion= parserIdentifier= _cefVer=1.0
!PARSE.CEFKV
Výstup:
[
('start', '1731934886000'),
('end', '1731934886000'),
('ahost', 'aac-ax-01'),
('agt', '192.168.57.141'),
('agentZoneURI', '/All Zones/ArcSight System IPv4/Private Address Space Zones/RFC1918: 192.168.0.0-192.168.255.255'),
('amac', '00-50-56-8C-85-D4'),
('av', '8.4.6.9408.1'),
('atz', 'Europe/Prague'),
('at', 'syslog'),
('dvchost', 'pfsense1data.local'),
('dvc', '192.168.51.2'),
('dtz', 'Europe/Prague'),
('geid', '3293577591578960401'),
('parserVersion', ''),
('parserIdentifier', ''),
('_cefVer', '1.0')
]
!PARSE.FIELDS¤
Analyzuje více polí oddělených určitým znakem a volitelně uzavřených v oddělovačích, které se při parsování odstraní.
Každé pole se přiřadí odpovídajícímu klíči ze seznamu keys.
Pokud je zadán parametr stop, parsuje se přesně tolik polí, kolik je klíčů.
Poslední pole se čte až do znaku stop. Parser se zastaví před znakem stop.
Parsování selže, pokud počet polí neodpovídá počtu klíčů.
Typ: Analyzátor.
Synopse:
!PARSE.FIELDS
keys: <...>
separator: <...>
delimiters: <...>
empty: <...>
stop: <...>
keysje seznam názvů polí extrahovaných ze vstupního řetězce.separatorje znak oddělující pole.delimitersje seznam znaků nebo dvojic znaků, které mohou pole obalovat.stopje nepovinný znak konce posledního pole.emptyje nepovinný boolean (výchozí:false), který odstraní prázdná pole z výstupu.
Example
Vstupní řetězec: <8>,url,,"2024/12/09 19:45:31",99.70.55.200
!PARSE.FIELDS
keys:
- pri
- subtype
- future_use
- time_generated
- src_ip
separator: ","
delimiters:
- '"' # Jeden znak znamená stejný začátek a konec
- "'"
- ['<', '>'] # Různý začátek a konec
- '"""'
Výstup:
[
('pri', '8'),
('subtype', 'url'),
('future_use', ''),
('time_generated', '2024/12/09 19:45:31'),
('src_ip', '99.70.55.200'),
]
Parsování s odstraněním prázdných polí
Vstupní řetězec: <8>,url,,"2024/12/09 19:45:31",99.70.55.200
!PARSE.FIELDS
keys:
- pri
- subtype
- future_use
- time_generated
- src_ip
separator: ","
delimiters:
- '"'
- "'"
- ['<', '>']
- '"""'
empty: true
Výstup:
[
('pri', '8'),
('subtype', 'url'),
('time_generated', '2024/12/09 19:45:31'),
('src_ip', '99.70.55.200'),
]
Parsování přesného počtu polí (poslední pole do znaku stop)
Vstupní řetězec: 52228,1,,123,info@mail.uipath.com some extra text
!PARSE.FIELDS
keys:
- field1
- field2
- field3
- field4
- field5
separator: ","
delimiters:
- '"'
- "'"
- ['<', '>']
- '"""'
stop: " "
Výstup:
[
('field1', '52228'),
('field2', '1'),
('field3', ''),
('field4', '123'),
('field5', 'info@mail.uipath.com'),
]