>
>
>
V6059. Odd use of special character in …


V6059. Odd use of special character in regular expression. Possibly, it was intended to be escaped.

Анализатор обнаружил странное регулярное выражение, использовав которое, программист получит результат, отличный от ожидаемого, либо при использовании которого полученный результат будет отличаться от ожидаемого.

Рассмотрим пример:

String[] arr = "Hot. Cool. Yours".split(".");

После выполнения этой строчки кода в массиве не будет ожидаемого {"Hot", " Cool", " Yours"}, а будет пустой массив. Это связано с тем, что точка является специальным символом в регулярном выражении, у которой есть свое предназначение. Чтобы сделать точку разделителем в вашей строке, нужно использовать:

String[] arr = "Hot. Cool. Yours".split("\\.");

Также анализатор предупредит, если ваше регулярное выражение будет состоять только из следующих символов:

  • "|"
  • "^"
  • "$"

Данная диагностика классифицируется как: