I'd start with:
(?<=|)\w+
Which would retrieve:
1H
PACMAN
PSM
P
20170118062717
And manually discard the leading zero, or use
([a-zA-Z]+|\d{2,})(?=|)
That's nice. Can I get these values in groups?
To use it as groups, you would need to specify the exact layout - which isn't difficult, but does depend on your data. If the sample is representative and you want groups for the "filled columns" only, but columns are delimited by "|" characters, then try:
^\d(\w+)(?:|.*?){3}(\w+)(?:|.*?){5}(\w+)(?:|.*?)(\w+)(?:|.*?)(\w+)|$
Should extract the fields you are interested in as numbered groups within a single match.