re = /(24180|27268|3696|17532)(?!.*\1)\s+\d+\s+\w+\s+\K\w+/m
str = '2024-04-14 04:56:56.714-0300 24180 20660 UI at64_1 [Ready] W: Retrying to obtain clipboard.
2024-04-14 04:56:56.714-0300 27268 31992 UI at64_4 [Ready] W: Retrying to obtain clipboard.
2024-04-14 04:56:56.714-0300 3696 20128 UI at64_3 [Ready] W: Retrying to obtain clipboard.
2024-04-14 04:56:56.765-0300 3696 20128 UI at64_3 [Ready] W: Retrying to obtain clipboard.
2024-04-14 04:56:56.765-0300 27268 31992 UI at64_4 [Ready] W: Retrying to obtain clipboard.
2024-04-14 04:56:56.765-0300 17532 1384 UI at64_2 [Ready] W: Retrying to obtain clipboard.
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html