/Free space on disk [a-z]:\\(?:[-\w\.\d]+\\)*(?:[-\w\.\d]+)? is now at \d+ % \(^[2-9][0-9]*(\.[0-9]+)? GB\), which is below the threshold \(\d+%\) out of total size [+-]?\d*\.\d+)(?![-+0-9\.] GB/
In layman's terms here is the goal of my regular expression:
Free space on disk [windows path] is now at [integer]% [floating point number > 1.9] GB, which is below the threshold ([integer]%) out of total size [floating point number] GB
So, I wrote a fairly complex regular expression the goal of which is to look at the free disk space variable in the message string at match if it is 2.0 or higher -- This way I can write a pre-processing filter to effectively exclude messages that are where there is 2+ GB in the filesystem. This would achieve my goal of being able to monitor both by total number of GB AND by percentage.
As part of the whole string the regex seems to be failing here: ^[2-9][0-9]*(\.[0-9]+)? which works on its own but not when I add it to the whole string. Any thoughts on how to fix or alternative methods??