... and one practical info. Im not sure what the point "Java does not support infinite repetition inside lookbehinds" means, but AFAIK and what I did test right now, .NET looks for match in the substring (somewhere), but Java needs to fit the patter from the origin of the source string.
Fast example:
task: is file name word file? (example demo.docx)
.NET solution: \.docx$
(this will success on "demo.docx", because pattern is found somewhere in the filename
Java solution: .*\.docx$
(you need to specify prefix .*
to ensure that pattern can start anywhere in the file. The .NET pattern will not work in Java implementation.