<!--
{
  "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(_:transform:)-98vy5",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "RegexBuilder"
    ],
    "preciseIdentifier" : "s:12RegexBuilder7CaptureV_9transformACySs_qd_9_qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_qd_7_qd_8_tGqd_10_yXE_qd_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(_:transform:)"
}
-->

# init(_:transform:)

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

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

## Parameters

`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)