---
title: AlternationBuilder
framework: regexbuilder
role: symbol
role_heading: Structure
path: regexbuilder/alternationbuilder
---

# AlternationBuilder

A custom parameter attribute that constructs regular expression alternations from closures.

## Declaration

```swift
@resultBuilder struct AlternationBuilder
```

## Overview

Overview When you use a ChoiceOf initializer, the initializer’s closure parameter has an AlternationBuilder attribute, allowing you to provide multiple regular expression statements as alternatives.

## Topics

### Type Methods

- [buildExpression(_:)](regexbuilder/alternationbuilder/buildexpression(_:).md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-1jq94.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-1oadq.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-1vk92.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-20ao.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-28nze.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-2afed.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-2q3in.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-2yatq.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-30m9e.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3571v.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-38zc3.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-39yml.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3a1qj.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3ascd.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3b47j.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3eldc.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3ibe4.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3nzbh.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3rkqj.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-3wkc9.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-42jgz.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-46i6m.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-4jwp3.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-4nz0t.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-4q1xd.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-53xav.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-576fa.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-57987.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-5afat.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-5fcrr.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-5me97.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-5qva.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-5wwt0.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6074o.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-653ta.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6842g.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6anqe.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6hkv5.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6nfpu.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6pfu4.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6tz5g.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6vjm9.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6vp0.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6x6gg.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-6yu9n.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-70usl.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-71zj2.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-7ihw4.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-7jsg7.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-815py.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-8a7vx.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-8dd0v.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-8e0ap.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-8pz3c.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-90yht.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-9f39x.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-9g62e.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-9k7s0.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-9op0h.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-9s1co.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-b6ks.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-klfl.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-o7ny.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-q4oo.md)
- [buildPartialBlock(accumulated:next:)](regexbuilder/alternationbuilder/buildpartialblock(accumulated:next:)-toh7.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-1kh7h.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-271vl.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-3f6z3.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-520tx.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-5qbok.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-63ah5.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-6mjz0.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-6vt65.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-7jdle.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-c2a6.md)
- [buildPartialBlock(first:)](regexbuilder/alternationbuilder/buildpartialblock(first:)-uy7q.md)

## See Also

### Builders

- [RegexComponentBuilder](regexbuilder/regexcomponentbuilder.md)
