2017-10-06 12 views
-1

我有一個文件格式如下所示。 #ADDBANK是每個記錄的標題,每個記錄可能有0個或多個以//錯誤開頭的行!正則表達式的幫助

我需要一個正則表達式來標識包含以//錯誤開頭的一行或多行的所有記錄(以#ADDBANK開頭)!並從該記錄返回以下行:

  • 含#ADDBANK
  • 行中的相應的記錄行與customerNumber之
  • 開始的每行以//錯誤開始的紀錄!

例如,對於具有以下兩條示例記錄的文件的正則表達式的結果如下所示。任何可以借我一手的正規表達專家?

結果

#ADDBANK 
customerNumber=10427856 
//error!-error=SP02195:account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. error=SP02195:account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. 
//error!-error=ufaEvent.process exception : account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. error=ufaEvent.process exception : account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. 

示例文件

#ADDBANK 
customerNumber=10427856 
bankruptcy.filingDate=2015-12-10 
bankruptcy.bankruptcyStatus=CONFIRM 
bankruptcy.bankruptcyStatusDate=2015-12-10 
bankruptcy.proofOfClaimType=FILINHOU 
bankruptcy.proofOfClaimFilingDate=2015-12-31 
bankruptcy.confirmationDate=2016-02-18 
bankruptcy.caseNumber=19-10832 
bankruptcy.chapterFiled=CHAPTER13 
bankruptcy.creditUnionAgency=Virginia Eastern 
bankruptcy.bankruptcyUAFAttributes.uafString9=0 
bankruptcy.bankruptcyUAFAttributes.uafString6=ST LOUIS 
bankruptcy.bankruptcyUAFAttributes.uafString4=JOHN DOE JR 
bankruptcy.bankruptcyUAFAttributes.uafString13=0 
bankruptcy.bankruptcyUAFAttributes.uafString8=63143 
bankruptcy.bankruptcyUAFAttributes.uafDate5=2016-09-07 
bankruptcy.bankruptcyUAFAttributes.uafString7=MO 
bankruptcy.bankruptcyUAFAttributes.uafString11=0 
bankruptcy.bankruptcyUAFAttributes.uafString5=PO BOX 430908 
//error!-error=SP02195:account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. error=SP02195:account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. 
//error!-error=ufaEvent.process exception : account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. error=ufaEvent.process exception : account.paymentSummary.statementFormat is not required when account.paymentSummary.statementIndicator is Suppress Statement-Create Billing. 

#ADDBANK 
customerNumber=10428256 
bankruptcy.filingDate=2010-09-06 
bankruptcy.bankruptcyStatusDate=2017-10-03 
bankruptcy.bankruptcyStatus=FILED 
bankruptcy.confirmationDate=2012-01-12 
bankruptcy.chapterFiled=CHAPTER13 
bankruptcy.creditUnionAgency=Western 
bankruptcy.bankruptcyUAFAttributes.uafString6=Kansas City 
bankruptcy.bankruptcyUAFAttributes.uafString4=Bob Martin 
bankruptcy.bankruptcyUAFAttributes.uafString9=0 
bankruptcy.bankruptcyUAFAttributes.uafString3=NO 
bankruptcy.bankruptcyUAFAttributes.uafString8=64106 
bankruptcy.bankruptcyUAFAttributes.uafString7=MO 
bankruptcy.bankruptcyUAFAttributes.uafDate5=2011-01-05 
bankruptcy.bankruptcyUAFAttributes.uafString5=818 Test Blvd 
bankruptcy.bankruptcyUAFAttributes.uafString11=0 
bankruptcy.bankruptcyUAFAttributes.uafString13=0 
+0

你使用什麼語言/工具? – Toto

+0

我們正在使用BareTail Pro – Grasshopper

+0

[看起來像它使用PCRE。](https://baremetalsoft.com/baretailpro/regex.php) – Aaron

回答

1

如果你正在尋找匹配這些行所有你需要做的就是在每一行的末尾匹配。使用此正則表達式

#ADDBANK|customerNumber.*|\/\/error.* 

您將匹配記錄中的所有必需行。但使用這個正則表達式,你將不得不遍歷所有的匹配,以收集所有匹配的行。

+0

太棒了!謝謝你,先生,這是完美的作品... – Grasshopper