Hi
I searching for fast and safe way to apply Regular Expressions on Streams.
I found some examples over the internet that talking about converting each buffer to String and then apply the Regex on the string.
This approach have two problems:
- Performance: converting to strings and GC'ing the strings is waste of time and CPU and sure can be avoided if there was a more native way to apply Regex on Streams.
- Pure Regex support: Regex pattern sometimes can match only if combining two buffers together (buffer 1 ends with the first part of the match, and buffer 2 starts with the second part of the match). The convert-to-string way cannot handle this type of matches natively, i have to provide more information like the maximum length that the pattern can match, this does not support the + and * regex signs at all and will never support (unlimited match length).
So, the convert-to-string way is not fast, and dont fully supports Regex.
Is there any way / Library that can be used to apply Regex on Streams without converting to strings and with full regex support?
Thanks.