re = /SomeText#(?:(.*?BACKUP) )?(?P<jobFileList>(?(1)[^ ]*|.*$))/m
str = 'SomeText#"C:\\\\","Shadow Copy Components:\\\\","E:\\\\",""
SomeText#"D:\\\\"
SomeText#"E:\\\\","Shadow Copy Components:\\\\"
SomeText#"SET SNAP_ID=serv.a.x.com_1380312019","BACKUP H:\\\\ USING \\\\\\\\?\\\\GLOBALROOT\\\\Device\\\\HarddiskVolumeShadowCopy47\\\\OPTIONS:ALT_PATH_PREFIX=c:\\\\VERITAS\\\\NetBackup\\\\temp\\\\_vrts_frzn_img_3200\\"
SomeText#"SET SNAP_ID=serv.a.x.com_1380312019","BACKUP Y:\\\\Libs USING \\\\\\\\?\\\\GLOBALROOT\\\\Device\\\\HarddiskVolumeShadowCopy47\\\\OPTIONS:ALT_PATH_PREFIX=c:\\\\VERITAS\\\\NetBackup\\\\temp\\\\_vrts_frzn_img_3200\\"
SomeText#/ahol5d72_1_2
SomeText#/p7ol4a1p_1_2
SomeText#Gvadag04SANDsk_Daily
SomeText#/bck_reco_a9ol5765_1_2_827497669'
# 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