Finding area and perimeter of rectangles and circles that are instance of interface region
In my point of view you cannot implement
area() and perimeter() any clearer or simpler.

In the toString() method I would somehow separate the values and also not print  with two times and length not at all.
Here is my suggestion:

 public String toString() {
       return "&lt;" + with + " x "+ length + ", area:" + this.area() + " perimeter: "+ perimeter() + "&gt;";
    }


In Rectangle[] selectRectangle(Region[] region) I would use an ArrayList to avoid the loop to count the number of Rectangles.

public static Rectangle[] selectRectangle(Region[] region) {
    ArrayList&lt;Rectangle&gt; result = new ArrayList&lt;&gt;();
    final int lastIndex = region.length;
    for (int i = 0; i &lt; lastIndex; i++) {
        if (region[i] instanceof Rectangle) {
            result.add((Rectangle) region[i]);
        }
    }
    return result.toArray(new Rectangle[result.size()]);
}