This regex is unnecessarily complicated. You can ditch the `^.*` at the start, remove that first group, and replace the `[\^]` with `\^`. This looks like

```rust
let re = Regex::new(r"//~(?P<adjusts>\^*)\s*(?P<kind>\S*)\s*(?P<msg>.*)").unwrap();
```

You can tell where this starts using `pos(0)`.