I'm curious if there's a much easier way to do this that I'm not familiar with. Suppose this is in a networking context and I'm looking to extract values from a response. These values are several numeric values delimited with pipes so for example |103|28|48|12|47|54|. I'm currently using this.

```
rep_pipe = e_traffic.replace("|", "||")
extract_value = re.findall(r'\|([0-9]{2,3})\|', rep_pipe)

```

Which works absolutely fine if there's only a single value. The reason it works fine with only a single instance of this string is because each value found between those pipes is appended to a list. However when there are several of these strings in a response, they're all appended to the same list and there's noway to distinguish them from one another.

Suppose we have these following (decimal) values:

```
|101|102|103|110|111|
|94|81|48|32|103|120|

```

As it stands, this would come out as ['101', '102', '103', '110', '111', '94', '81', .. '120']

Is there a way to have these first converted to hex and then saved as the following:

```
['6566676E6F', '5E5130206778']

```

Might be important to note that these values appear at different offsets with different lengths, which makes it a little harder in my opinion. Any help with this would be greatly appreciated.