正規表現に問題がありました。
次のような行がいくつかあります。
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\"
私が望むのは、各行を含む jobFileList という名前のグループを取得することです:
"C:\\","Shadow Copy Components:\\","E:\\",""
"D:\\"
"E:\\","Shadow Copy Components:\\"
H:\\
Y:\\Libs
ファイル リストだけが必要であることがわかりますが、# マークの後の全文だけが必要な場合もあれば、削除する必要がある* * がたくさんある場合もあります。実際には、この場合にスクリプトを使用できないため、1 つの正規表現のみでこれを行う必要があり、正規表現の後に他のものの streplace を実行することはできません。
私がしたことは:
SomeText(#.*BACKUP (?P<jobFileList>.*?) .*)?(#(?P<jobFileList>.*))?
しかし、同じGroupNameを設定できないようです:(2番目のjobFileListを別の名前に置き換えると、完全に機能しますが、必要なものではありません.
ご協力いただきありがとうございます、
編集:次のような行をいくつか持つこともできます:
SomeText#/ahol5d72_1_2
SomeText#/p7ol4a1p_1_2
SomeText#Gvadag04SANDsk_Daily
SomeText#/bck_reco_a9ol5765_1_2_827497669
これらすべてのケースで、# マークの後にすべてのテキストが必要です。