I have the following string pattern:

Name\_session\_id:Owner:UUID BUT sometimes it can be just Name:Owner:UUID.

For example:

```
John_1:David:enfl43erl34r345

```

or

```
John:David:enfl43erl34r345

```

I want to use `stringr` and `rebus` to be able to build a dataframe that looks like this:

```
Name   Session   Owner   UUID
John   1         David   enfl43erl34r345
John   NA        David   enfl43erl34r345

```

Please advise how to do this, here is what I have done so far with the pattern:

```
capture(one_or_more(WRD)) %R% 
  optional("_") %R% 
  capture(optional(DGT)) %R% 
  ":" %R% 
  capture(one_or_more(WRD)) %R% 
  ":" %R% 
  capture(one_or_more(WRD))

```