Identifiersflags: g
GitHub Actions Expression
Match `${{ expression }}` interpolations used in GitHub Actions workflow YAML.
Try it in RegexPro →Available in
Pattern
regexengine-agnostic
\$\{\{\s*([^}]+?)\s*\}\} (flags: g)Raw source: \$\{\{\s*([^}]+?)\s*\}\}
How it works
\$\{\{ matches the literal `${{`. \s*([^}]+?)\s* lazily captures the inner expression (with surrounding whitespace stripped). \}\} matches the closing `}}`. The lazy quantifier prevents accidentally consuming through to a later `}}` in the same line.
Examples
Input
if: ${{ github.actor == 'octocat' }}Matches
${{ github.actor == 'octocat' }}
Input
run: echo ${{ secrets.NPM_TOKEN }} | npm publishMatches
${{ secrets.NPM_TOKEN }}
Input
no expressionsNo match
—Common use cases
- •Linting workflow files for unsafe expressions
- •Detecting committed secret references
- •Migrating between GitHub Actions and other CI providers
- •Documentation generation from workflow YAML
Related patterns
AWS ARN (Amazon Resource Name)
IdentifiersMatch AWS ARNs (Amazon Resource Names) across commercial, China, and GovCloud partitions.
AWS S3 Bucket Name
IdentifiersValidate AWS S3 bucket names per the standard naming rules: 3–63 chars, lowercase, alphanumeric + dots + hyphens.
Docker Image Tag
IdentifiersMatch Docker image references with an explicit tag — e.g. nginx:1.21, mycorp/service:v2.3.1.
Git Commit SHA
IdentifiersMatch Git commit hashes, both short (7 chars) and full (40 chars) forms.