I am dealing with a SQL log file.
The field I am attempting to extract a string of numbers from is called 'SQL_BIND'. I want to set the extracted string of numbers as field 'numbr'
The data in the SQL_BIND field is in the following form:
#1(8):xxxxxxxx #2(21):...
The xxxxxxxx
represents the number I need to extract, the #1(8):
exists at the beginning of each, and the #2(21):
exists after the number followed by a random set of information (represented by the ellipsis).
I've attempted the following search to get a table of the results, but the table generates completely blankly.
index="main" | rex field=SQL_BIND "\(#1\(8\):()\(\s#2\(21\)" | table numbr
I think I'm using the \
before the parenthesis correctly to treat them as literal characters, but maybe not? I've been at this for hours, scouring the web for an answer or similar issue to figure it out... and so far no luck.
What am I doing wrong? This is driving me bonkers! Can someone please help?
Try this instead:
| rex field=SQL_BIND "#1\(8\):(?<numbr>\d+) #2\(21\)"
You need to need to escape the parens with a backslash
... | rex field=SQL_BIND "\#1\(8\):(?<numbr>\d+)" | ...
Try this instead:
| rex field=SQL_BIND "#1\(8\):(?<numbr>\d+) #2\(21\)"
Thank you! This worked perfectly! Apparently I was overthinking it 🙂