DD
DevDash

Regex for S3 Object Key

Regex Pattern

^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()/ -]*$

Valid AWS S3 object key (safe characters)

Quick Answer

The regex pattern for s3 object key is `^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()/ -]*$`. Valid AWS S3 object key (safe characters). This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.

Test Examples

InputResult
uploads/photo.jpg✓ Matches
data/2024/report.pdf✓ Matches
my-file.txt✓ Matches
/leading-slash✗ No match
(empty)✗ No match
..traversal✗ No match

Code Examples

javascript

const regex = /^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()\/ -]*$/;
const isValid = regex.test(value);

python

import re
pattern = r'^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()/ -]*$'
if re.match(pattern, value):
    print("valid")

ruby

pattern = /^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()/ -]*$/
if value =~ pattern
  puts "valid"
end

php

if (preg_match('/^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()\/ -]*$/', $value)) {
    echo "valid";
}

java

String pattern = "^[a-zA-Z0-9!_.*'()-][a-zA-Z0-9!_.*'()/ -]*$";
boolean isValid = value.matches(pattern);

Frequently Asked Questions

Related Regex Patterns

Want API access + no ads? Pro coming soon.