<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/RegexBuilder/Capture/init(as:_:transform:)-68hzv",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "RegexBuilder"
    ],
    "preciseIdentifier" : "s:12RegexBuilder7CaptureV2as_9transformACySs_qd_9_qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_qd_7_qd_8_tGAA9ReferenceVyqd_9_G_qd_10_yXEqd_9_qd__KctcSs_qd_9_qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_qd_7_qd_8_tRsz17_StringProcessing0A9ComponentRd_10_qd___qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_qd_7_qd_8_t0A6OutputRtd_10_r10_lufc"
  },
  "title" : "init(as:_:transform:)"
}
-->

# init(as:_:transform:)

Creates a capture for the given component using the specified
reference, transforming with the given closure.

```
init<W, C1, C2, C3, C4, C5, C6, C7, C8, C9, NewCapture>(as reference: Reference<NewCapture>, @RegexComponentBuilder _ componentBuilder: () -> some RegexComponent, transform: @escaping (W) throws -> NewCapture) where Output == (Substring, NewCapture, C1, C2, C3, C4, C5, C6, C7, C8, C9)
```

## Parameters

`reference`

The reference to use for anything captured by
`component`.

`componentBuilder`

A builder closure that generates a regex
component to capture.

`transform`

A closure that takes the substring matched by
`component` and returns a new value to capture. If `transform`
throws an error, matching is abandoned and the error is returned
to the caller.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)