I need help in writing regex for the below mentioned log:
URLReputation: Risk unknown, URL: http://facebook.com
I wrote a regex like below:
URLReputation\:\s*(.*?),\s*URL\:\s*(.*)
Here everything is working. But in case URL isn't there, the URLReputation also will not be captured.
Please help.
Regards,
Mitesh Agrawal
You could turn the non greedy
.*?into a negated character class[^,]+and match any char except a comma. Then make the URL part optional using an optional non capturing group(?:...)?You want to capture the value of a url using
.*but that could possibly also match an empty string.You might make the pattern more specific by matching at least a single non whitespace char
\S+or use a pattern like for example specifying the starthttps?://\S+Regex demo