URL with Any Protocol Regex

^[a-zA-Z][a-zA-Z0-9+.-]*://[^\s]+$

Match URLs with any valid protocol including ftp, mailto, file, and custom schemes.

Test This Pattern →

Pattern Breakdown

Understanding the regex pattern ^[a-zA-Z][a-zA-Z0-9+.-]*://[^\s]+$:

  • ^ - Start of string
  • $ - End of string
  • \s - Whitespace character
  • + - One or more
  • * - Zero or more
  • [...] - Character class

Examples

Input Result Explanation
ftp://files.example.com ✓ Match FTP URL
mailto:user@example.com ✓ Match Mailto link
custom://app/path ✓ Match Custom protocol

Code Examples

JavaScript

JavaScript
const pattern = /^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]+$/;
const text = "ftp://files.example.com";

// Test if string matches
if (pattern.test(text)) {
  console.log("Valid!");
}

// Extract matches
const matches = text.match(pattern);
console.log(matches);

Python

Python
import re

pattern = r'^[a-zA-Z][a-zA-Z0-9+.-]*://[^\s]+$'
text = "ftp://files.example.com"

# Test if string matches
if re.match(pattern, text):
    print("Valid!")

# Find all matches
matches = re.findall(pattern, text)
print(matches)

PHP

PHP
<?php
$pattern = '/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]+$/';
$text = "ftp://files.example.com";

// Test if string matches
if (preg_match($pattern, $text)) {
    echo "Valid!";
}

// Find all matches
preg_match_all($pattern, $text, $matches);
print_r($matches);
?>

Java

Java
import java.util.regex.*;

String pattern = "^[a-zA-Z][a-zA-Z0-9+.-]*://[^\\s]+$";
String text = "ftp://files.example.com";

Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);

if (m.matches()) {
    System.out.println("Valid!");
}

Use Cases

Common applications: Deep linking, protocol handlers, universal link validation

Frequently Asked Questions

What is the regex pattern for url with any protocol regex?
The regex pattern is: ^[a-zA-Z][a-zA-Z0-9+.-]*://[^\s]+$. Match URLs with any valid protocol including ftp, mailto, file, and custom schemes.
How do I use the url with any protocol regex pattern in JavaScript?
In JavaScript: const regex = new RegExp('^[a-zA-Z][a-zA-Z0-9+.-]*://[^\\s]+$'); or const regex = /^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]+$/;
Does this pattern work in Python?
Yes, use: import re; pattern = re.compile(r'^[a-zA-Z][a-zA-Z0-9+.-]*://[^\s]+$') in Python. Most regex patterns are cross-language compatible.
What are common use cases for url with any protocol regex?
Deep linking, protocol handlers, universal link validation

Related Regex Patterns

More Regex Tools

GetDevUtils offers a suite of developer tools including: