Skip to content

Regex Match

The regex_match guardrail validates output against regex patterns.

from pydantic_ai_guardrails.guardrails.output import regex_match
from pydantic_ai_guardrails import GuardedAgent
from pydantic_ai_guardrails.guardrails.output import regex_match
guarded_agent = GuardedAgent(
agent,
output_guardrails=[
regex_match(pattern=r'^[A-Z]', must_match=True),
],
)
ParameterTypeDefaultDescription
patternstrRequiredRegex pattern
must_matchboolTrueIf True, output must match. If False, output must not match.
flagsint0Regex flags (e.g., re.IGNORECASE)
# Output must start with capital letter
guardrail = regex_match(
pattern=r'^[A-Z]',
must_match=True,
)
# Block TODO markers
guardrail = regex_match(
pattern=r'TODO|FIXME|XXX',
must_match=False,
)
import re
guardrail = regex_match(
pattern=r'error|warning|fail',
must_match=False,
flags=re.IGNORECASE,
)
# Must be a valid date format
guardrail = regex_match(
pattern=r'^\d{4}-\d{2}-\d{2}$',
must_match=True,
)

When triggered, returns:

{
'tripwire_triggered': True,
'message': 'Output does not match required pattern',
'severity': 'medium',
'metadata': {
'pattern': r'^[A-Z]',
'must_match': True,
},
}
  • Format enforcement: Dates, IDs, codes
  • Content filtering: Block unwanted phrases
  • Structure validation: Headers, sections
  • Quality checks: No placeholder text