Regular expressions are slow.
JSONata is slow
So I am surprised the function was slow - perhaps there was string manipulation the your original function? (string manipulations are slow)
Here is a mock up of how I might handle this - may be of use?

[{"id":"1b0d37fb2471123d","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"00","payloadType":"str","x":1510,"y":1020,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"d7b3f0f7e6adb49e","type":"junction","z":"b1993d2a213b2bb0","x":1640,"y":1060,"wires":[["d6823181f9c5a68c"]]},{"id":"11958afbcbb212b3","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"101","payloadType":"str","x":1510,"y":1260,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"4f746604fc72f5ee","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"100","payloadType":"str","x":1510,"y":1220,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"000c164834baf795","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"01","payloadType":"str","x":1510,"y":1060,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"9c4c4cf31f1c799f","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"50","payloadType":"str","x":1510,"y":1120,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"47e5392a2d4704e8","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"51","payloadType":"str","x":1510,"y":1160,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"a34440712cb2d85b","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"990","payloadType":"str","x":1510,"y":1320,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"290c661b2db3d393","type":"inject","z":"b1993d2a213b2bb0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"991","payloadType":"str","x":1510,"y":1360,"wires":[["d7b3f0f7e6adb49e"]]},{"id":"d6823181f9c5a68c","type":"function","z":"b1993d2a213b2bb0","name":"split item and flag","func":"const parts = msg.payload.split('')\nconst flagLookup = {\n \"0\": \"triggered\",\n \"1\": \"reset\",\n}\nmsg.payload = {\n item: parts.slice(0, -1).join(''),\n flag: flagLookup[parts.pop()] || 'unknown'\n}\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1770,"y":1060,"wires":[["4fdee4fb2e42921c"]]},{"id":"4fdee4fb2e42921c","type":"debug","z":"b1993d2a213b2bb0","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1770,"y":1120,"wires":[]}]