🎯 Goal

Strengthen text-processing skills through regular expressions and command-line filtering β€” essential for log analysis and threat hunting.


πŸ› οΈ What I Did

Studied regex behavior while working through Effective Shell materials.

Topics explored:

  • Greedy vs lazy regex matching
  • Pattern capture boundaries
  • HTML-style matching examples
  • Troubleshooting regex validation errors

Example:

<tag>.+</tag>

vs

<tag>.+?</tag>

Learned how greedy matching consumes maximum possible input unless constrained.

This mattered because regex is not just β€œfind some text.” In a security context, a loose pattern can flood an analyst with false positives, while an overly narrow pattern can hide the one event that should have been investigated.


πŸ” Key Cybersecurity Connections

Regex is fundamental for:

  • SIEM rule creation
  • Log filtering
  • IOC extraction
  • Detection engineering
  • Parsing authentication or process logs

Understanding matching behavior prevents:

  • false positives
  • overmatching detections
  • missed indicators

⚠️ Challenges

Encountered validation warnings when testing expressions.

Root cause:

  • Regex engines differ slightly.
  • Escaping rules vary by implementation.
  • Syntax correctness depends on parsing context.

🧠 What I Learned

  • Regex engines default to greedy behavior.
  • Lazy matching requires explicit modifiers.
  • Pattern design directly affects detection reliability.
  • Text manipulation skills translate directly into SOC workflows.
  • Small syntax choices can change the evidence a query returns.

πŸš€ Next Steps

  • Integrate regex with grep usage.
  • Practice extracting structured data fields.
  • Begin thinking in pattern-based detection logic.

πŸ” Reflection

Regex stopped feeling like abstract syntax and started resembling investigative tooling β€” closer to how analysts interrogate large datasets.


πŸ“˜ Lessons Learned

What worked

  • Testing expressions visually.

What broke

  • Assuming regex behaves universally across tools.

Why it broke

  • Different engines enforce different parsing rules.

Fix / takeaway

  • Always validate regex in the execution environment.