Regex for AWS ARN
Regex Pattern
^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9/_.-]+Amazon Web Services ARN (Amazon Resource Name)
Quick Answer
The regex pattern for aws arn is `^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9/_.-]+`. Amazon Web Services ARN (Amazon Resource Name). This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.
Test Examples
| Input | Result |
|---|---|
| arn:aws:s3:us-east-1:123456789012:my-bucket | ✓ Matches |
| arn:aws:iam:us-west-2:123456789012:user/johndoe | ✓ Matches |
| arn:gcp:s3:us-east-1:123456789012:bucket | ✗ No match |
| not-an-arn | ✗ No match |
| arn:aws | ✗ No match |
Code Examples
javascript
const regex = /^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9\/_.-]+/;
const isValid = regex.test(value);python
import re
pattern = r'^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9/_.-]+'
if re.match(pattern, value):
print("valid")ruby
pattern = /^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9/_.-]+/
if value =~ pattern
puts "valid"
endphp
if (preg_match('/^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\d:\d{12}:[a-zA-Z0-9\/_.-]+/', $value)) {
echo "valid";
}java
String pattern = "^arn:aws[a-zA-Z-]*:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\\d:\\d{12}:[a-zA-Z0-9/_.-]+";
boolean isValid = value.matches(pattern);Frequently Asked Questions
Related Regex Patterns
UUID v4
UUID version 4 (randomly generated)
UUID (Any Version)
Any RFC 4122 UUID (versions 1-5)
JWT Token
JSON Web Token (header.payload.signature)
Hex String
Any-length hexadecimal string
Base64 String
Standard base64 encoded string
Alphanumeric Username
Username with letters, digits, underscores (3-16 chars)