HomeRegex LibraryFile Extension Extraction Regex
100% Client-Side β€’ 0 B Data Leaves Browser
formatting

File Extension Extraction Regex

Isolates the trailing file extension from local paths, URLs, or document names while safely ignoring query strings and hashes.

Regular Expression Pattern:
/\.([a-zA-Z0-9]+)(?:\?|#|$)/i
Valid Match Example:
/uploads/invoice_report.pdf?version=2
Invalid / Non-Match Example:
folder_without_extension/

Regex Syntax Breakdown & Explanation

  • β€’\. : Literal period preceding extension name
  • β€’([a-zA-Z0-9]+) : Captures alphanumeric extension tag
  • β€’(?:\?|#|$) : Stops before URL query parameters, fragment anchors, or end of string

Implementation in Popular Languages

JavaScript / TypeScript
const regex = /\.([a-zA-Z0-9]+)(?:\?|#|$)/i;
const isValid = regex.test("/uploads/invoice_report.pdf?version=2");
console.log(isValid); // true
Python (re)
import re

pattern = r"\.([a-zA-Z0-9]+)(?:\?|#|$)"
match = re.match(pattern, "/uploads/invoice_report.pdf?version=2")
print(bool(match)) # True
Go (regexp)
package main
import (
  "fmt"
  "regexp"
)

func main() {
  re := regexp.MustCompile(`\.([a-zA-Z0-9]+)(?:\?|#|$)`)
  fmt.Println(re.MatchString("/uploads/invoice_report.pdf?version=2"))
}
Frequently Asked Questions

Frequently Asked Questions

Everything you need to know regarding specifications, syntax, and security best practices.

The regular expression pattern is /\.([a-zA-Z0-9]+)(?:\?|#|$)/i. Isolates the trailing file extension from local paths, URLs, or document names while safely ignoring query strings and hashes.