Select Page

Extracting Port Number from a localhost API Request to a Server using Regular Expressions

Kashish Kumar
Published: February 7, 2023

Improve Article

Save Article

Like Article

Improve Article

Save Article

Given a String test_str as localhost API Request Address, the task is to get the extract port number of the service.


Input: test_str = ‘http://localhost:8109/users/addUsers’
Output: 8109
Explanation: Port Number, 8109 extracted.

Input: test_str = ‘http://localhost:1337/api/products’
Output: 1337
Explanation: Port Number, 1337 extracted.

Approach: The problem can be solved based on the following idea:

Create a regex pattern to validate the number as written below:   
regex = “[:]{1}[0-9]{4, }“


  • [:]: This pattern will match if one of the preceding is a colon character
  • [0-9]{4} : This pattern will allow 4 or more than 4 preceding elements if they are digits.

Follow the below steps to implement the idea:

  • Create a regex expression to extract all the Port numbers from the string.
  • Use Pattern class to compile the regex formed.
  • Use the matcher function to find.

Below is the code implementation of the above-discussed approach:



import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class GFG {



    public static void main(String[] args)





        String str = "http:/"

                     + "/localhost:8082/api/secure";

        System.out.println("Given String is:\n" + str);


            "Above Given API is running on Port Number:");






    static void extractPortNumber(String str)







        String strPattern[] = { "[:]{1}[0-9]{4}" };

        for (int i = 0; i < strPattern.length; i++) {

            Pattern pattern

                = Pattern.compile(strPattern[i]);

            Matcher matcher = pattern.matcher(str);

            while (matcher.find()) {


          ":", ""));






Given String is:
Above Given API is running on Port Number:

Related Articles: