Regex for Protocol Detection
Regex Pattern
^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/Detects and captures the protocol from a URL
Quick Answer
The regex pattern for protocol detection is `^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/`. Detects and captures the protocol from a URL. This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.
Test Examples
| Input | Result |
|---|---|
| https://example.com | ✓ Matches |
| ftp://files.example.com | ✓ Matches |
| ws://socket.io | ✓ Matches |
| example.com | ✗ No match |
| ://missing | ✗ No match |
| no-protocol | ✗ No match |
Code Examples
javascript
const regex = /^([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\//; const isValid = regex.test(value);
python
import re
pattern = r'^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/'
if re.match(pattern, value):
print("valid")ruby
pattern = /^([a-zA-Z][a-zA-Z0-9+.-]*):\/\// if value =~ pattern puts "valid" end
php
if (preg_match('/^([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\//', $value)) {
echo "valid";
}java
String pattern = "^([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/"; boolean isValid = value.matches(pattern);
Frequently Asked Questions
Related Regex Patterns
Subdomain Extraction
Extracts the subdomain from a URL or domain name
Port Number
Extracts port number from a URL or host string
Query Parameter
Extracts key-value pairs from URL query strings
HTTP vs HTTPS URL
Matches HTTP or HTTPS URLs and captures the protocol
Data URL
Matches data: URL scheme with optional MIME type and base64 encoding
WebSocket URL
WebSocket URL starting with ws:// or wss://