BytePane

Log Entry (Common Log Format) Regex Pattern

Parses Apache/Nginx Common Log Format entries, extracting IP, timestamp, method, path, status code, and bytes.

{}
Data Formats
Advanced
Difficulty
Universal
Language
gm
Flags
// Regular Expression
/^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)/gm

Live Regex Tester

Pattern Breakdown

^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)
Character class [ ]
Group ( )
Quantifier { }
Anchor ^ $
Repetition * + ?
Escape \
Alternation |
Any char .

Code Examples

JavaScript

const regex = /^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)/gm;
const test = "127.0.0.1 - - [07/Mar/2026:14:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234";
console.log(regex.test(test)); // true

// Extract matches
const matches = test.match(regex);
console.log(matches);

Python

import re

pattern = r'^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)'
test = "127.0.0.1 - - [07/Mar/2026:14:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234"
match = re.findall(pattern, test)
print(match)  # Found!

Go

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)`)
    fmt.Println(re.MatchString("127.0.0.1 - - [07/Mar/2026:14:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234")) // true
}

Common Use Cases

Log analysismonitoringsecurity investigation

Match Examples

InputResult
127.0.0.1 - - [07/Mar/2026:14:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234Match
random textNo Match

About the Log Entry (Common Log Format) Regex

Parses Apache/Nginx Common Log Format entries, extracting IP, timestamp, method, path, status code, and bytes.

Regular expressions (regex) are powerful pattern matching tools used across virtually all programming languages. The log entry (common log format) pattern is classified as advanced difficulty in the data formats category. It works in all major programming languages.

When using this regex, always consider edge cases and test thoroughly with real-world data. Use the interactive tester above to validate the pattern against your specific inputs before deploying to production.

Need More Regex Patterns?

Browse our complete library of 100+ regex patterns with interactive testers.

Frequently Asked Questions

What is the Log Entry (Common Log Format) regex pattern?

Parses Apache/Nginx Common Log Format entries, extracting IP, timestamp, method, path, status code, and bytes.

How do I use the Log Entry (Common Log Format) regex?

Use the pattern /^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)/gm in your code. In JavaScript: new RegExp('^(\S+)\s+(\S+)\s+(\S+)\s+\[([^\]]+)\]\s+"(\S+)\s+(\S+)\s+(\S+)"\s+(\d+)\s+(\d+)', 'gm'). Test it above with your own input.

What does this Log Entry (Common Log Format) regex match?

This pattern matches: "127.0.0.1 - - [07/Mar/2026:14:00:00 +0000] "GET /index.html HTTP/1.1" 200 1234". It does NOT match: "random text". Log analysis, monitoring, security investigation.

Is the Log Entry (Common Log Format) regex beginner-friendly?

This pattern is rated Advanced. It uses advanced features like lookaheads, backreferences, or complex alternation.

What languages support the Log Entry (Common Log Format) regex?

This pattern works in all major programming languages including JavaScript, Python, Java, C#, Go, Ruby, PHP, and more. Syntax may vary slightly between regex engines.

Can I modify the Log Entry (Common Log Format) regex for my use case?

Yes! Use the interactive tester above to modify the pattern and test with your own data. Common modifications include making it case-insensitive (add 'i' flag), matching globally (add 'g' flag), or adjusting character classes.

Related Tools