There are three options to achieve connecting Vnet's in different regions:
- Global VNET peering
- VNET-to-VNET connection
- Expressroute
As for the question,
How to connect 2 cross region azure Vnet using express route ?
Each VNET that is connected to an Expressroute circuit, becomes part of the same routing domain. This means that each VNET that is connected to Expressroute, regardless of whether it is in the same region or in a different region, will have connectivity to each other.
The connection between the two gateways would happen at the peering location, but would not go over the peered network. Meaning, the connection stays on the Microsoft network, but the hairpin happens at the peering location.
Reference: How to Link Vnet to ExpressRoute Circuit