Анализатор обнаружил странное регулярное выражение, использовав которое, программист получит результат, отличный от ожидаемого, либо при использовании которого полученный результат будет отличаться от ожидаемого.
Рассмотрим пример:
String[] arr = "Hot. Cool. Yours".split(".");
После выполнения этой строчки кода в массиве не будет ожидаемого {"Hot", " Cool", " Yours"}, а будет пустой массив. Это связано с тем, что точка является специальным символом в регулярном выражении, у которой есть свое предназначение. Чтобы сделать точку разделителем в вашей строке, нужно использовать:
String[] arr = "Hot. Cool. Yours".split("\\.");
Также анализатор предупредит, если ваше регулярное выражение будет состоять только из следующих символов:
Данная диагностика классифицируется как: