


Hello,
I faced the same issue: the regex always gets the last match. So, another “tricky” way is to get the desired substring and post-process it natively in bash. I made an example, take a look at the regex string:
- defaultTab: nodes description: '' executionEnabled: true id: c2c7a769-5a8f-4f06-9a35-1137e718b02c loglevel: INFO name: REGEX nodeFilterEditable: false options: - enforced: true label: choose the disk name: disk value: '1' values: - '1' - '2' - '3' - '4' - '5' valuesListDelimiter: ',' plugins: ExecutionLifecycle: {} scheduleEnabled: true sequence: commands: - plugins: LogFilter: - config: captureMultipleKeysValues: 'true' hideOutput: 'false' logData: 'true' name: disks regex: '^.*(Disk.Bay.*)(?=,).*$' type: key-value-data-multilines script: |- echo " Drives detected for controller \"RAID.SL.3-1\" and RaidStatus" echo " - Disk: Disk.Bay.0: Enclosure.Internal.0-1:RAID.SL.3-1, Raidstatus: Ready" echo " - Disk: Disk.Bay.1: Enclosure.Internal.0-1:RAID.SL.3-1, Raidstatus: Ready" - exec: echo ${data.disks} | head -${option.disk} | tail -1 plugins: LogFilter: [] keepgoing: false strategy: node-first uuid: c2c7a769-5a8f-4f06-9a35-1137e718b02cYou can select the disk from the options and then see the desired string (probably you need only the first entry). Feel free to modify/improve the example.
Regards!