VOOZH about

URL: https://www.geeksforgeeks.org/dsa/extracting-port-number-from-a-localhost-api-request-to-a-server-using-regular-expressions/

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


  • Courses
  • Tutorials
  • Interview Prep

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

Last Updated : 23 Jul, 2025

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

Examples:

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, }“

Where,  

  • [:]: 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:


Output
Given String is:
http://localhost:8082/api/secure
Above Given API is running on Port Number:
8082

Complexity :

The time complexity of the above  code depends on the size of the input string and the number of patterns in the strPattern array. Since the for loop only iterates once over the strPattern array, the time complexity is O(n), where n is the size of the input string. This is because the regular expression matching operation takes O(n) time in the worst case for an input string of size n.

The space complexity of the above code is also O(n) because it only stores the input string and the regular expression pattern in memory, both of which have a size proportional to n. Additionally, the matcher object created by regex_search has a space complexity that is dependent on the size of the input string, but since it is only used to extract the port number and not stored, it does not contribute to the overall space complexity.

Related Articles:

Comment