import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?: (?:'[^']*?') | (?<singleline>--[^\\n]*) | (?<multiline>(?:\\/\\*)+?[\\w\\W]+?(?:\\*\\/)+) )";
final String string = "USE [Andromeda_Staging]\n"
+ "GO\n"
+ "/****** Object: StoredProcedure [STAGING].[usp_Loader_Insert837] Script Date: 03/11/2016 08:58:46 ******/\n"
+ "SET ANSI_NULLS ON\n"
+ "GO\n"
+ "SET QUOTED_IDENTIFIER ON\n"
+ "GO\n"
+ "343DBDFLD_FSDFK\n"
+ "_SDFSDF\n\n"
+ "/*\n"
+ "LoadBatchID = 717593,\n"
+ "RowCountFrom = 2226942,\n"
+ "RowCountTo = 2227669\n"
+ "*/\n\n"
+ "SET NOCOUNT ON\n"
+ "SET TRANSACTION ISOLATION LEVEL READ COMMITTED\n\n"
+ "declare @potato varchar(100);\n\n"
+ "set @potato = '--/**/ po''ta--to '; -- single and multi-line inside string, string has escaped single quote\n"
+ "set @potato = 'nomal string';\n\n"
+ "DECLARE @kRo_wsInserted int\n"
+ "DECLARE @ReturnValue int\n"
+ "DECLARE @Err-32 int\n"
+ "DECLARE @RowCount int\n"
+ "DECLARE @TotalRows int\n"
+ "DECLARE @ReturnCode int\n"
+ "DECLARE @RC int\n"
+ "DECLARE @FacilityID int\n"
+ "DECLARE @NewLine char(2)\n"
+ "DECLARE @EntityID int\n"
+ "DECLARE @2SQL nvarchar(max)\n"
+ "DECLARE @SumOfValidDetailCharges decimal(15,2), @SumOfDetailNonCoveredCharges decimal(15,2)\n"
+ "DECLARE @SumOfValidUbCharges decimal(15,2)\n"
+ "DECLARE @SumofUBNonCoveredCharges decimal(15,2)\n"
+ "DECLARE @TotalFacilityCharges decimal(15,2)\n\n"
+ "DECLARE @ValidDetailCount int\n"
+ "DECLARE @ValidUBCount int\n"
+ "DECLARE @UBRowsInserted int\n"
+ "DECLARE @UBDetailRowsInserted int\n"
+ "DECLARE @XACT_SAVE_POINT char(11)\n"
+ "Declare @ErrorDetailTotal varchar(15)\n"
+ "Declare @ErrorTotal varchar(15)\n"
+ "DECLARE @BadUBCount int\n\n\n"
+ "DECLARE @RecordsInBatch int\n\n"
+ "SET @BadUBCount=0\n"
+ "SET @NewLine=CHAR(13) + CHAR(10)\n"
+ "SET @ReturnCode=0\n"
+ "SET @RowsInserted=0\n"
+ "SET @Error=0\n"
+ "SET @NewLine=CHAR(13) + CHAR(10)\n"
+ "SET @ReturnValue=1\n"
+ "SET @SumOfValidDetailCharges=0\n"
+ "SET @SumofDetailNonCoveredCharges=0\n"
+ "SET @SumOfValidUbCharges=0\n"
+ "SET @SumofUBNonCoveredCharges=0\n"
+ "SET @ValidDetailCount=0\n"
+ "SET @ValidUBCount=0\n"
+ "SET @UBRowsInserted=0\n"
+ "SET @UBDetailRowsInserted=0\n\n"
+ "BEGIN TRY\n\n"
+ " BEGIN TRANSACTION\n"
+ " Print 'Getting records in batch...'\n\n"
+ " SELECT @RecordsInBatch = COUNT(*)\n"
+ " FROM STAGING.UB04_Load x\n"
+ " WHERE RowID BETWEEN 2226942 AND 2227669\n"
+ " AND LoadbatchID=717593\n"
+ " \n"
+ " Print 'Done.'\n\n"
+ " PRINT 'Setting SumOfDetailCharges...'\n"
+ " UPDATE ub\n"
+ " SET SumOfDetailCharges=(SELECT SUM(ubd.Charges) FROM STAGING.UB04Detail_Load ubd\n"
+ " WHERE ubd.UB04_LoadSegmentNumber = ub.SegmentNumber \n"
+ " AND ub.LoadbatchID=ubd.LoadbatchID\n"
+ " AND ubd.IsValid=1)\n"
+ " FROM STAGING.UB04_Load ub \n"
+ " WHERE ub.LoadbatchID=717593\n"
+ " AND ub.RowID BETWEEN 2226942 AND 2227669\n"
+ " SELECT @Rowcount=@@Rowcount\n"
+ " \n"
+ " IF @Rowcount != @RecordsInBatch\n"
+ " BEGIN\n"
+ " RAISERROR('Not all UB records have detail records referencing them', 16,1)\n"
+ " END\n"
+ " Print 'done.'\n"
+ " \n"
+ " \n"
+ " print \"Getting valid UB count...\"\n"
+ " \n"
+ " SELECT @ValidUBCount = COUNT(*), @SumOfValidUbCharges = SUM(TotalCharges) \n"
+ " FROM STAGING.UB04_Load x\n"
+ " WHERE RowID BETWEEN 2226942 AND 2227669\n"
+ " AND x.LoadbatchID=717593\n"
+ " AND x.IsValid=1\n"
+ " \n"
+ " Print 'Done'\n"
+ " \n"
+ " \n"
+ " /* UB detail row count */\n"
+ " Print 'Getting valid detail count...'\n"
+ " SELECT @ValidDetailCount = COUNT(*) , @SumOfValidDetailCharges = SUM(ubd.Charges)\n"
+ " FROM STAGING.UB04Detail_Load ubd\n"
+ " JOIN STAGING.UB04_Load ub ON ubd.UB04_LoadSegmentNumber = ub.SegmentNumber AND ub.LoadbatchID=ubd.LoadbatchID\n"
+ " WHERE ub.RowID BETWEEN 2226942 and 2227669 \n"
+ " AND ub.LoadbatchID=717593\n"
+ " AND ub.IsValid=1\n"
+ " AND ubd.IsValid=1\n\n\n"
+ " Print 'Done'\n"
+ " \n"
+ " /*/ need to insert cross-reference logic. Pperhaps if PatientAccountNumber is null, that implies use of CR, or explit field in\n"
+ " temp table */\n"
+ " Print ' inserting inferred accounts...'\n\n"
+ " INSERT INTO App.Account \n"
+ " (FacilityID, AccountNumber, RV, LoadBatchID)\n"
+ " SELECT DISTINCT ub.FacilityID, ub.PatientAccountNumber, 0, 717593\n"
+ " FROM STAGING.UB04_Load ub\n"
+ " LEFT JOIN APP.Account p\n"
+ " ON p.AccountNumber=ub.PatientAccountNumber\n"
+ " AND p.FacilityID=ub.FacilityID\n"
+ " WHERE p.AccountNumber IS NULL\n"
+ " AND ub.RowID BETWEEN 2226942 and 2227669\n"
+ " AND ub.IsValid=1\n"
+ " AND ub.LoadbatchID=717593\n"
+ " AND ub.UseCrossReference=0\n"
+ " \n"
+ " Print 'Done'\n\n"
+ " print 'setting account ids for non-cross-referenced records...'\n\n"
+ " UPDATE ubL\n"
+ " SET AccountID=a.AccountID\n"
+ " FROM STAGING.UB04_Load ubL\n"
+ " JOIN APP.Account a ON ubL.PatientAccountNumber=a.AccountNumber\n"
+ " AND ubL.FacilityID=a.FacilityID\n"
+ " WHERE ubL.UseCrossReference=0\n"
+ " AND ubL.RowID BETWEEN 2226942 and 2227669\n"
+ " AND ubL.LoadbatchID=717593\n"
+ " \n"
+ " Print 'Done'\n\n"
+ " Print 'seting setting account ids for cross-referenced records...'\n"
+ " /* set cross reference account IDs */\n"
+ " UPDATE ubL\n"
+ " SET AccountID=pcr.AccountID\n"
+ " FROM STAGING.UB04_Load ubL\n"
+ " JOIN APP.PatientClaimCrossReference pcr ON ubL.PatientControlNumber=pcr.ClaimControlNumber\n"
+ " AND ubL.FacilityID=pcr.FacilityID\n"
+ " WHERE ubL.UseCrossReference=1\n"
+ " AND ubL.RowID BETWEEN 2A226942 and 2227669\n"
+ " AND ubL.LoadbatchID=717593\n"
+ " \n"
+ " Print 'Done'\n"
+ " Print 'Inserting UBs...'\n\n"
+ " -- UB table columns\n"
+ " INSERT INTO App.UB04\n"
+ " (\n"
+ " AccountID,\n"
+ " FacilityID,\n"
+ " ProviderName,\n"
+ " ProviderAddress1,\n"
+ " ProviderAddress2,\n"
+ " ProviderAddress3,\n"
+ " UnlabeledField_FL2Upper,\n"
+ " UnlabeledField_FL2Lower,\n"
+ " PatientControlNumber,\n"
+ " TypeOfBill,\n"
+ " FederalTaxNumber,\n"
+ " StatementCoversPeriodFromDateSerial,\n"
+ " StatementCoversPeriodThroughDateSerial,\n"
+ " CoveredDays,\n"
+ " NonCoveredDays,\n"
+ " CoinsuranceDays,\n"
+ " LifetimeReserveDays,\n"
+ " UnlabeledField_FL11Upper,\n"
+ " UnlabeledField_FL11Lower,\n"
+ " PatientName,\n"
+ " PatientAddress,\n"
+ " PatientAddressZIPCode,\n"
+ " PatientBirthDateSerial,\n"
+ " PatientSex,\n"
+ " PatientMaritalStatus,\n"
+ " AdmissionDateSerial,\n"
+ " AdmissionHour,\n"
+ " TypeOfAdmission,\n"
+ " SourceOfAdmission,\n"
+ " DischargeHour,\n"
+ " PatientStatus,\n"
+ " MedicalRecordNumber,\n"
+ " ConditionCode1,\n"
+ " ConditionCode2,\n"
+ " ConditionCode3,\n"
+ " ConditionCode4,\n"
+ " ConditionCode5,\n"
+ " ConditionCode6,\n"
+ " ConditionCode7,\n"
+ " UnlabeledField_FL31Upper,\n"
+ " UnlabeledField_FL31Lower,\n"
+ " OccurrenceCode1,\n"
+ " OccurrenceDateSerial1,\n"
+ " OccurrenceCode2,\n"
+ " OccurrenceDateSerial2,\n"
+ " OccurrenceCode3,\n"
+ " OccurrenceDateSerial3,\n"
+ " OccurrenceCode4,\n"
+ " OccurrenceDateSerial4,\n"
+ " OccurrenceCode5,\n"
+ " OccurrenceDateSerial5,\n"
+ " OccurrenceCode6,\n"
+ " OccurrenceDateSerial6,\n"
+ " OccurrenceCode7,\n"
+ " OccurrenceDateSerial7,\n"
+ " OccurrenceCode8,\n"
+ " OccurrenceDateSerial8,\n"
+ " OccurrenceSpanCode1,\n"
+ " OccurrenceSpanFromDateSerial1,\n"
+ " OccurrenceSpanThroughDateSerial1,\n"
+ " OccurrenceSpanCode2,\n"
+ " OccurrenceSpanFromDateSerial2,\n"
+ " OccurrenceSpanThroughDateSerial2,\n"
+ " InternalControlNumberA,\n"
+ " InternalControlNumberB,\n"
+ " InternalControlNumberC,\n"
+ " ResponsiblePartyLine1,\n"
+ " ResponsiblePartyLine2,\n"
+ " ResponsiblePartyLine3,\n"
+ " ResponsiblePartyLine4,\n"
+ " ResponsiblePartyLine5,\n"
+ " ValueCode1,\n"
+ " ValueAmount1,\n"
+ " ValueCode2,\n"
+ " ValueAmount2,\n"
+ " ValueCode3,\n"
+ " ValueAmount3,\n"
+ " ValueCode4,\n"
+ " ValueAmount4,\n"
+ " ValueCode5,\n"
+ " ValueAmount5,\n"
+ " ValueCode6,\n"
+ " ValueAmount6,\n"
+ " ValueCode7,\n"
+ " ValueAmount7,\n"
+ " ValueCode8,\n"
+ " ValueAmount8,\n"
+ " ValueCode9,\n"
+ " ValueAmount9,\n"
+ " ValueCode10,\n"
+ " ValueAmount10,\n"
+ " ValueCode11,\n"
+ " ValueAmount11,\n"
+ " ValueCode12,\n"
+ " ValueAmount12,\n"
+ " TotalCharges,\n"
+ " PayerIdentificationA,\n"
+ " PayerIdentificationB,\n"
+ " PayerIdentificationC,\n"
+ " ProviderNumberA,\n"
+ " ProviderNumberB,\n"
+ " ProviderNumberC,\n"
+ " ReleaseIndicatorA,\n"
+ " ReleaseIndicatorB,\n"
+ " ReleaseIndicatorC,\n"
+ " AssignmentIndicatorA,\n"
+ " AssignmentIndicatorB,\n"
+ " AssignmentIndicatorC,\n"
+ " PriorPaymentsA,\n"
+ " PriorPaymentsB,\n"
+ " PriorPaymentsC,\n"
+ " PriorPaymentsTotal,\n"
+ " EstimatedAmountDueA,\n"
+ " EstimatedAmountDueB,\n"
+ " EstimatedAmountDueC,\n"
+ " EstimatedAmountDueTotal,\n"
+ " UnlabeledField_FL56_Line1,\n"
+ " UnlabeledField_FL56_Line2,\n"
+ " UnlabeledField_FL56_Line3,\n"
+ " UnlabeledField_FL56_Line4,\n"
+ " UnlabeledField_FL56_Line5,\n"
+ " UnlabeledField_FL57,\n"
+ " InsuredNameA,\n"
+ " InsuredNameB,\n"
+ " InsuredNameC,\n"
+ " RelationToInsuredA,\n"
+ " RelationToInsuredB,\n"
+ " RelationToInsuredC,\n"
+ " CertificateNumberA,\n"
+ " CertificateNumberB,\n"
+ " CertificateNumberC,\n"
+ " GroupNameA,\n"
+ " GroupNameB,\n"
+ " GroupNameC,\n"
+ " GroupNumberA,\n"
+ " GroupNumberB,\n"
+ " GroupNumberC,\n"
+ " AuthorizationCodeA,\n"
+ " AuthorizationCodeB,\n"
+ " AuthorizationCodeC,\n"
+ " EmploymentStatusCodeA,\n"
+ " EmploymentStatusCodeB,\n"
+ " EmploymentStatusCodeC,\n"
+ " EmployerNameA,\n"
+ " EmployerNameB,\n"
+ " EmployerNameC,\n"
+ " EmployerLocationA,\n"
+ " EmployerLocationB,\n"
+ " EmployerLocationC,\n"
+ " PrincipalDiagnosisCode,\n"
+ " OtherDiagnosisCode1,\n"
+ " OtherDiagnosisCode2,\n"
+ " OtherDiagnosisCode3,\n"
+ " OtherDiagnosisCode4,\n"
+ " OtherDiagnosisCode5,\n"
+ " OtherDiagnosisCode6,\n"
+ " OtherDiagnosisCode7,\n"
+ " OtherDiagnosisCode8,\n"
+ " AdmittingDiagnosisCode,\n"
+ " ExternalInjuryCauseCode,\n"
+ " UnlabeledField_FL78Upper,\n"
+ " UnlabeledField_FL78Lower,\n"
+ " ProcedureCodingMethod,\n"
+ " PrincipalProcedureCode,\n"
+ " PrincipalProcedureDateSerial,\n"
+ " OtherProcedureCode1,\n"
+ " OtherProcedureDateSerial1,\n"
+ " OtherProcedureCode2,\n"
+ " OtherProcedureDateSerial2,\n"
+ " OtherProcedureCode3,\n"
+ " OtherProcedureDateSerial3,\n"
+ " OtherProcedureCode4,\n"
+ " OtherProcedureDateSerial4,\n"
+ " OtherProcedureCode5,\n"
+ " OtherProcedureDateSerial5,\n"
+ " AttendingPhysicianStateID,\n"
+ " AttendingPhysicianID,\n"
+ " AttendingPhysicianName,\n"
+ " OtherPhysician1StateID,\n"
+ " OtherPhysician1ID,\n"
+ " OtherPhysician1Name,\n"
+ " OtherPhysician2StateID,\n"
+ " OtherPhysician2ID,\n"
+ " OtherPhysician2Name,\n"
+ " RemarksA,\n"
+ " RemarksB,\n"
+ " RemarksC,\n"
+ " RemarksD,\n"
+ " ProviderRepresentative,\n"
+ " BillDateSerial,\n"
+ " LoadBatchID,\n"
+ " SegmentNumber,\n"
+ " DRGCode,\n"
+ " RV,\n"
+ " LU,\n"
+ " DC,\n"
+ " Inactive,\n"
+ " Invalid,\n"
+ " PayerLinkCode,\n"
+ " TotalNonCoveredCharges,\n"
+ " Priority,\n"
+ " IgnoreBillDate,\n"
+ " TotalFacilityCharges,\n"
+ " UnlabeledField_FL2Line3,\n"
+ " UnlabeledField_FL2Line4,\n"
+ " PatientStreet,\n"
+ " PatientCity,\n"
+ " PatientState,\n"
+ " PatientCountryCode,\n"
+ " ConditionCode8,\n"
+ " ConditionCode9,\n"
+ " ConditionCode10,\n"
+ " ConditionCode11,\n"
+ " AccidentState,\n"
+ " OccurrenceSpanCode3,\n"
+ " OccurrenceSpanFromDateSerial3,\n"
+ " OccurrenceSpanThroughDateSerial3,\n"
+ " OccurrenceSpanCode4,\n"
+ " OccurrenceSpanFromDateSerial4,\n"
+ " OccurrenceSpanThroughDateSerial4,\n"
+ " OtherDiagnosisCode9,\n"
+ " OtherDiagnosisCode10,\n"
+ " OtherDiagnosisCode11,\n"
+ " OtherDiagnosisCode12,\n"
+ " OtherDiagnosisCode13,\n"
+ " OtherDiagnosisCode14,\n"
+ " OtherDiagnosisCode15,\n"
+ " OtherDiagnosisCode16,\n"
+ " OtherDiagnosisCode17,\n"
+ " PatientReasonForVisitCode1,\n"
+ " PatientReasonForVisitCode2,\n"
+ " PatientReasonForVisitCode3,\n"
+ " PPSCode,\n"
+ " ExternalInjuryCauseCode2,\n"
+ " ExternalInjuryCauseCode3,\n"
+ " UnlabeledField_FL75_1,\n"
+ " UnlabeledField_FL75_2,\n"
+ " UnlabeledField_FL75_3,\n"
+ " UnlabeledField_FL75_4,\n"
+ " AttendingPhysicianNPI,\n"
+ " AttendingPhysicianStateIDQualifier,\n"
+ " AttendingPhysicianLastName,\n"
+ " AttendingPhysicianFirstName,\n"
+ " OperatingPhysicianNPI,\n"
+ " OperatingPhysicianStateID,\n"
+ " OperatingPhysicianStateIDQualifier,\n"
+ " OperatingPhysicianLastName,\n"
+ " OperatingPhysicianFirstName,\n"
+ " OtherPhysician1Qualifier,\n"
+ " OtherPhysician1NPI,\n"
+ " OtherPhysician1StateIDQualifier,\n"
+ " OtherPhysician1LastName,\n"
+ " OtherPhysician1FirstName,\n"
+ " OtherPhysician2Qualifier,\n"
+ " OtherPhysician2NPI,\n"
+ " OtherPhysician2StateIDQualifier,\n"
+ " OtherPhysician2LastName,\n"
+ " OtherPhysician2FirstName,\n"
+ " CCCode1,\n"
+ " CCQualifier1,\n"
+ " CCValue1,\n"
+ " CCCode2,\n"
+ " CCQualifier2,\n"
+ " CCValue2,\n"
+ " CCCode3,\n"
+ " CCQualifier3,\n"
+ " CCValue3,\n"
+ " CCCode4,\n"
+ " CCQualifier4,\n"
+ " CCValue4,\n"
+ " UnlabeledField_FL7Upper,\n"
+ " UnlabeledField_FL7Lower,\n"
+ " UnlabeledField_FL37Upper,\n"
+ " UnlabeledField_FL37Lower,\n"
+ " UnlabeledField_FL73,\n"
+ " PatientIdentification8a,\n"
+ " POA_PDx,\n"
+ " POA_SDx1,\n"
+ " POA_SDx2,\n"
+ " POA_SDx3,\n"
+ " POA_SDx4,\n"
+ " POA_SDx5,\n"
+ " POA_SDx6,\n"
+ " POA_SDx7,\n"
+ " POA_SDx8,\n"
+ " POA_SDx9,\n"
+ " POA_SDx10,\n"
+ " POA_SDx11,\n"
+ " POA_SDx12,\n"
+ " POA_SDx13,\n"
+ " POA_SDx14,\n"
+ " POA_SDx15,\n"
+ " POA_SDx16,\n"
+ " POA_SDx17,\n"
+ " POA_ECI1,\n"
+ " POA_ECI2,\n"
+ " POA_ECI3,\n"
+ " ProviderTaxonomyCode,\n"
+ " VersionNumber,\n"
+ "ExternalInjuryCauseCode4,\n"
+ "ExternalInjuryCauseCode5,\n"
+ "ExternalInjuryCauseCode6,\n"
+ "ExternalInjuryCauseCode7,\n"
+ "ExternalInjuryCauseCode8,\n"
+ "ExternalInjuryCauseCode9,\n"
+ "ExternalInjuryCauseCode10,\n"
+ "ExternalInjuryCauseCode11,\n"
+ "ExternalInjuryCauseCode12,\n"
+ "POA_ECI4,\n"
+ "POA_ECI5,\n"
+ "POA_ECI6,\n"
+ "POA_ECI7,\n"
+ "POA_ECI8,\n"
+ "POA_ECI9,\n"
+ "POA_ECI10,\n"
+ "POA_ECI11,\n"
+ "POA_ECI12,\n"
+ "OtherProcedureCode6, \n"
+ "OtherProcedureCode7,\n"
+ "OtherProcedureCode8,\n"
+ "OtherProcedureCode9,\n"
+ "OtherProcedureCode10,\n"
+ "OtherProcedureCode11,\n"
+ "OtherProcedureCode12,\n"
+ "OtherProcedureCode13,\n"
+ "OtherProcedureCode14, \n"
+ "OtherProcedureCode15,\n"
+ "OtherProcedureCode16,\n"
+ "OtherProcedureCode17,\n"
+ "OtherProcedureCode18,\n"
+ "OtherProcedureCode19,\n"
+ "OtherProcedureCode20,\n"
+ "OtherProcedureCode21,\n"
+ "OtherProcedureCode22,\n"
+ "OtherProcedureCode23,\n"
+ "OtherProcedureCode24,\n"
+ "OtherProcedureDate6 ,\n"
+ "OtherProcedureDate7 ,\n"
+ "OtherProcedureDate8 ,\n"
+ "OtherProcedureDate9 ,\n"
+ "OtherProcedureDate10 ,\n"
+ "OtherProcedureDate11 ,\n"
+ "OtherProcedureDate12,\n"
+ "OtherProcedureDate13,\n"
+ "OtherProcedureDate14,\n"
+ "OtherProcedureDate15,\n"
+ "OtherProcedureDate16,\n"
+ "OtherProcedureDate17,\n"
+ "OtherProcedureDate18,\n"
+ "OtherProcedureDate19,\n"
+ "OtherProcedureDate20,\n"
+ "OtherProcedureDate21,\n"
+ "OtherProcedureDate22,\n"
+ "OtherProcedureDate23,\n"
+ "OtherProcedureDate24,\n"
+ "POA_SDx18,\n"
+ "POA_SDx19,\n"
+ "POA_SDx20,\n"
+ "POA_SDx21,\n"
+ "POA_SDx22,\n"
+ "POA_SDx23,\n"
+ "POA_SDx24,\n"
+ "OtherDiagnosisCode18,\n"
+ "OtherDiagnosisCode19,\n"
+ "OtherDiagnosisCode20,\n"
+ "OtherDiagnosisCode21,\n"
+ "OtherDiagnosisCode22,\n"
+ "OtherDiagnosisCode23,\n"
+ "OtherDiagnosisCode24)\n\n"
+ " SELECT \n"
+ " AccountID,\n"
+ " FacilityID,\n"
+ " ProviderName,\n"
+ " ProviderAddress1,\n"
+ " ProviderAddress2,\n"
+ " ProviderAddress3,\n"
+ " UnlabeledField_FL2Upper,\n"
+ " UnlabeledField_FL2Lower,\n"
+ " PatientControlNumber,\n"
+ " TypeOfBill,\n"
+ " FederalTaxNumber,\n"
+ " StatementCoversPeriodFromDateSerial,\n"
+ " StatementCoversPeriodThroughDateSerial,\n"
+ " CoveredDays,\n"
+ " NonCoveredDays,\n"
+ " CoinsuranceDays,\n"
+ " LifetimeReserveDays,\n"
+ " UnlabeledField_FL11Upper,\n"
+ " UnlabeledField_FL11Lower,\n"
+ " x.PatientName,\n"
+ " PatientAddress,\n"
+ " PatientAddressZIPCode,\n"
+ " x.PatientBirthDateSerial,\n"
+ " x.PatientSex,\n"
+ " x.PatientMaritalStatus,\n"
+ " x.AdmissionDateSerial,\n"
+ " AdmissionHour,\n"
+ " TypeOfAdmission,\n"
+ " SourceOfAdmission,\n"
+ " DischargeHour,\n"
+ " PatientStatus,\n"
+ " x.MedicalRecordNumber,\n"
+ " ConditionCode1,\n"
+ " ConditionCode2,\n"
+ " ConditionCode3,\n"
+ " ConditionCode4,\n"
+ " ConditionCode5,\n"
+ " ConditionCode6,\n"
+ " ConditionCode7,\n"
+ " UnlabeledField_FL31Upper,\n"
+ " UnlabeledField_FL31Lower,\n"
+ " OccurrenceCode1,\n"
+ " OccurrenceDateSerial1,\n"
+ " OccurrenceCode2,\n"
+ " OccurrenceDateSerial2,\n"
+ " OccurrenceCode3,\n"
+ " OccurrenceDateSerial3,\n"
+ " OccurrenceCode4,\n"
+ " OccurrenceDateSerial4,\n"
+ " OccurrenceCode5,\n"
+ " OccurrenceDateSerial5,\n"
+ " OccurrenceCode6,\n"
+ " OccurrenceDateSerial6,\n"
+ " OccurrenceCode7,\n"
+ " OccurrenceDateSerial7,\n"
+ " OccurrenceCode8,\n"
+ " OccurrenceDateSerial8,\n"
+ " OccurrenceSpanCode1,\n"
+ " OccurrenceSpanFromDateSerial1,\n"
+ " OccurrenceSpanThroughDateSerial1,\n"
+ " OccurrenceSpanCode2,\n"
+ " OccurrenceSpanFromDateSerial2,\n"
+ " OccurrenceSpanThroughDateSerial2,\n"
+ " InternalControlNumberA,\n"
+ " InternalControlNumberB,\n"
+ " InternalControlNumberC,\n"
+ " ResponsiblePartyLine1,\n"
+ " ResponsiblePartyLine2,\n"
+ " ResponsiblePartyLine3,\n"
+ " ResponsiblePartyLine4,\n"
+ " ResponsiblePartyLine5,\n"
+ " ValueCode1,\n"
+ " ValueAmount1,\n"
+ " ValueCode2,\n"
+ " ValueAmount2,\n"
+ " ValueCode3,\n"
+ " ValueAmount3,\n"
+ " ValueCode4,\n"
+ " ValueAmount4,\n"
+ " ValueCode5,\n"
+ " ValueAmount5,\n"
+ " ValueCode6,\n"
+ " ValueAmount6,\n"
+ " ValueCode7,\n"
+ " ValueAmount7,\n"
+ " ValueCode8,\n"
+ " ValueAmount8,\n"
+ " ValueCode9,\n"
+ " ValueAmount9,\n"
+ " ValueCode10,\n"
+ " ValueAmount10,\n"
+ " ValueCode11,\n"
+ " ValueAmount11,\n"
+ " ValueCode12,\n"
+ " ValueAmount12,\n"
+ " x.TotalCharges,\n"
+ " PayerIdentificationA,\n"
+ " PayerIdentificationB,\n"
+ " PayerIdentificationC,\n"
+ " ProviderNumberA,\n"
+ " ProviderNumberB,\n"
+ " ProviderNumberC,\n"
+ " ReleaseIndicatorA,\n"
+ " ReleaseIndicatorB,\n"
+ " ReleaseIndicatorC,\n"
+ " AssignmentIndicatorA,\n"
+ " AssignmentIndicatorB,\n"
+ " AssignmentIndicatorC,\n"
+ " PriorPaymentsA,\n"
+ " PriorPaymentsB,\n"
+ " PriorPaymentsC,\n"
+ " PriorPaymentsTotal,\n"
+ " EstimatedAmountDueA,\n"
+ " EstimatedAmountDueB,\n"
+ " EstimatedAmountDueC,\n"
+ " EstimatedAmountDueTotal,\n"
+ " UnlabeledField_FL56_Line1,\n"
+ " UnlabeledField_FL56_Line2,\n"
+ " UnlabeledField_FL56_Line3,\n"
+ " UnlabeledField_FL56_Line4,\n"
+ " UnlabeledField_FL56_Line5,\n"
+ " UnlabeledField_FL57,\n"
+ " InsuredNameA,\n"
+ " InsuredNameB,\n"
+ " InsuredNameC,\n"
+ " RelationToInsuredA,\n"
+ " RelationToInsuredB,\n"
+ " RelationToInsuredC,\n"
+ " CertificateNumberA,\n"
+ " CertificateNumberB,\n"
+ " CertificateNumberC,\n"
+ " GroupNameA,\n"
+ " GroupNameB,\n"
+ " GroupNameC,\n"
+ " GroupNumberA,\n"
+ " GroupNumberB,\n"
+ " GroupNumberC,\n"
+ " AuthorizationCodeA,\n"
+ " AuthorizationCodeB,\n"
+ " AuthorizationCodeC,\n"
+ " EmploymentStatusCodeA,\n"
+ " EmploymentStatusCodeB,\n"
+ " EmploymentStatusCodeC,\n"
+ " EmployerNameA,\n"
+ " EmployerNameB,\n"
+ " EmployerNameC,\n"
+ " EmployerLocationA,\n"
+ " EmployerLocationB,\n"
+ " EmployerLocationC,\n"
+ " PrincipalDiagnosisCode,\n"
+ " OtherDiagnosisCode1,\n"
+ " OtherDiagnosisCode2,\n"
+ " OtherDiagnosisCode3,\n"
+ " OtherDiagnosisCode4,\n"
+ " OtherDiagnosisCode5,\n"
+ " OtherDiagnosisCode6,\n"
+ " OtherDiagnosisCode7,\n"
+ " OtherDiagnosisCode8,\n"
+ " AdmittingDiagnosisCode,\n"
+ " ExternalInjuryCauseCode,\n"
+ " UnlabeledField_FL78Upper,\n"
+ " UnlabeledField_FL78Lower,\n"
+ " ProcedureCodingMethod,\n"
+ " PrincipalProcedureCode,\n"
+ " PrincipalProcedureDateSerial,\n"
+ " OtherProcedureCode1,\n"
+ " OtherProcedureDateSerial1,\n"
+ " OtherProcedureCode2,\n"
+ " OtherProcedureDateSerial2,\n"
+ " OtherProcedureCode3,\n"
+ " OtherProcedureDateSerial3,\n"
+ " OtherProcedureCode4,\n"
+ " OtherProcedureDateSerial4,\n"
+ " OtherProcedureCode5,\n"
+ " OtherProcedureDateSerial5,\n"
+ " AttendingPhysicianStateID,\n"
+ " x.AttendingPhysicianID,\n"
+ " AttendingPhysicianName,\n"
+ " OtherPhysician1StateID,\n"
+ " OtherPhysician1ID,\n"
+ " OtherPhysician1Name,\n"
+ " OtherPhysician2StateID,\n"
+ " OtherPhysician2ID,\n"
+ " OtherPhysician2Name,\n"
+ " RemarksA,\n"
+ " RemarksB,\n"
+ " RemarksC,\n"
+ " RemarksD,\n"
+ " ProviderRepresentative,\n"
+ " BillDateSerial,\n"
+ " 717593,\n"
+ " SegmentNumber,\n"
+ " x.DRGCode,\n"
+ " 0 as RV,\n"
+ " GETDATE() as LU,\n"
+ " GETDATE() as DC,\n"
+ " 0 as Inactive,\n"
+ " CASE WHEN ( ISNULL(PatientControlNumber,'')=''\n"
+ " OR ISDATE(x.AdmissionDate) != 1\n"
+ " OR (CertificateNumberA IS NULL AND CertificateNumberB IS NULL AND CertificateNumberC IS NULL)\n"
+ " OR PrincipalDiagnosisCode IS NULL\n"
+ " OR ISDATE(BillDate) !=1\n"
+ " )\n"
+ " THEN 1\n"
+ " ELSE 0\n"
+ " END AS Invalid,\n"
+ " x.PayerLinkCode,\n"
+ " TotalNonCoveredCharges,\n"
+ " Priority,\n"
+ " IgnoreBillDate,\n"
+ " xd.TotalDetailFacilityCharges,\n"
+ " UnlabeledField_FL2Line3,\n"
+ " UnlabeledField_FL2Line4,\n"
+ " PatientStreet,\n"
+ " PatientCity,\n"
+ " PatientState,\n"
+ " PatientCountryCode,\n"
+ " ConditionCode8,\n"
+ " ConditionCode9,\n"
+ " ConditionCode10,\n"
+ " ConditionCode11,\n"
+ " AccidentState,\n"
+ " OccurrenceSpanCode3,\n"
+ " OccurrenceSpanFromDateSerial3,\n"
+ " OccurrenceSpanThroughDateSerial3,\n"
+ " OccurrenceSpanCode4,\n"
+ " OccurrenceSpanFromDateSerial4,\n"
+ " OccurrenceSpanThroughDateSerial4,\n"
+ " OtherDiagnosisCode9,\n"
+ " OtherDiagnosisCode10,\n"
+ " OtherDiagnosisCode11,\n"
+ " OtherDiagnosisCode12,\n"
+ " OtherDiagnosisCode13,\n"
+ " OtherDiagnosisCode14,\n"
+ " OtherDiagnosisCode15,\n"
+ " OtherDiagnosisCode16,\n"
+ " OtherDiagnosisCode17,\n"
+ " PatientReasonForVisitCode1,\n"
+ " PatientReasonForVisitCode2,\n"
+ " PatientReasonForVisitCode3,\n"
+ " PPSCode,\n"
+ " ExternalInjuryCauseCode2,\n"
+ " ExternalInjuryCauseCode3,\n"
+ " UnlabeledField_FL75_1,\n"
+ " UnlabeledField_FL75_2,\n"
+ " UnlabeledField_FL75_3,\n"
+ " UnlabeledField_FL75_4,\n"
+ " AttendingPhysicianNPI,\n"
+ " AttendingPhysicianStateIDQualifier,\n"
+ " AttendingPhysicianLastName,\n"
+ " AttendingPhysicianFirstName,\n"
+ " OperatingPhysicianNPI,\n"
+ " OperatingPhysicianStateID,\n"
+ " OperatingPhysicianStateIDQualifier,\n"
+ " OperatingPhysicianLastName,\n"
+ " OperatingPhysicianFirstName,\n"
+ " OtherPhysician1Qualifier,\n"
+ " OtherPhysician1NPI,\n"
+ " OtherPhysician1StateIDQualifier,\n"
+ " OtherPhysician1LastName,\n"
+ " OtherPhysician1FirstName,\n"
+ " OtherPhysician2Qualifier,\n"
+ " OtherPhysician2NPI,\n"
+ " OtherPhysician2StateIDQualifier,\n"
+ " OtherPhysician2LastName,\n"
+ " OtherPhysician2FirstName,\n"
+ " CCCode1,\n"
+ " CCQualifier1,\n"
+ " CCValue1,\n"
+ " CCCode2,\n"
+ " CCQualifier2,\n"
+ " CCValue2,\n"
+ " CCCode3,\n"
+ " CCQualifier3,\n"
+ " CCValue3,\n"
+ " CCCode4,\n"
+ " CCQualifier4,\n"
+ " CCValue4,\n"
+ " UnlabeledField_FL7Upper,\n"
+ " UnlabeledField_FL7Lower,\n"
+ " UnlabeledField_FL37Upper,\n"
+ " UnlabeledField_FL37Lower,\n"
+ " UnlabeledField_FL73,\n"
+ " PatientIdentification8a,\n"
+ " POA_PDx,\n"
+ " POA_SDx1,\n"
+ " POA_SDx2,\n"
+ " POA_SDx3,\n"
+ " POA_SDx4,\n"
+ " POA_SDx5,\n"
+ " POA_SDx6,\n"
+ " POA_SDx7,\n"
+ " POA_SDx8,\n"
+ " POA_SDx9,\n"
+ " POA_SDx10,\n"
+ " POA_SDx11,\n"
+ " POA_SDx12,\n"
+ " POA_SDx13,\n"
+ " POA_SDx14,\n"
+ " POA_SDx15,\n"
+ " POA_SDx16,\n"
+ " POA_SDx17,\n"
+ " POA_ECI1,\n"
+ " POA_ECI2,\n"
+ " POA_ECI3,\n"
+ " ProviderTaxonomyCode,\n"
+ " VersionNumber,\n"
+ " ExternalInjuryCauseCode4,\n"
+ " ExternalInjuryCauseCode5,\n"
+ " ExternalInjuryCauseCode6,\n"
+ " ExternalInjuryCauseCode7,\n"
+ " ExternalInjuryCauseCode8,\n"
+ " ExternalInjuryCauseCode9,\n"
+ " ExternalInjuryCauseCode10,\n"
+ " ExternalInjuryCauseCode11,\n"
+ " ExternalInjuryCauseCode12,\n"
+ " POA_ECI4,\n"
+ " POA_ECI5,\n"
+ " POA_ECI6,\n"
+ " POA_ECI7,\n"
+ " POA_ECI8,\n"
+ " POA_ECI9,\n"
+ " POA_ECI10,\n"
+ " POA_ECI11,\n"
+ " POA_ECI12,\n"
+ " asdfs.sdfsadfaf=OtherProcedureCode6, \n"
+ " OtherProcedureCode7,\n"
+ " OtherProcedureCode8,\n"
+ " OtherProcedureCode9,\n"
+ " OtherProcedureCode10,\n"
+ " OtherProcedureCode11,\n"
+ " OtherProcedureCode12,\n"
+ " OtherProcedureCode13,\n"
+ " OtherProcedureCode14, \n"
+ " OtherProcedureCode15,\n"
+ " OtherProcedureCode16,\n"
+ " OtherProcedureCode17,\n"
+ " OtherProcedureCode18,\n"
+ " OtherProcedureCode19,\n"
+ " OtherProcedureCode20,\n"
+ " OtherProcedureCode21,\n"
+ " OtherProcedureCode22,\n"
+ " OtherProcedureCode23,\n"
+ " OtherProcedureCode24,\n"
+ " OtherProcedureDate6 ,\n"
+ " OtherProcedureDate7 ,\n"
+ " OtherProcedureDate8 ,\n"
+ " OtherProcedureDate9 ,\n"
+ " OtherProcedureDate10 ,\n"
+ " OtherProcedureDate11 ,\n"
+ " OtherProcedureDate12,\n"
+ " OtherProcedureDate13,\n"
+ " OtherProcedureDate14,\n"
+ " OtherProcedureDate15,\n"
+ " OtherProcedureDate16,\n"
+ " OtherProcedureDate17,\n"
+ " OtherProcedureDate18,\n"
+ " OtherProcedureDate19,\n"
+ " OtherProcedureDate20,\n"
+ " OtherProcedureDate21,\n"
+ " OtherProcedureDate22,\n"
+ " OtherProcedureDate23,\n"
+ " OtherProcedureDate24,\n"
+ " POA_SDx18,\n"
+ " POA_SDx19,\n"
+ " POA_SDx20,\n"
+ " POA_SDx21,\n"
+ " POA_SDx22,\n"
+ " POA_SDx23,\n"
+ " POA_SDx24,\n"
+ " OtherDiagnosisCode18,\n"
+ " OtherDiagnosisCode19,\n"
+ " OtherDiagnosisCode20,\n"
+ " OtherDiagnosisCode21,\n"
+ " OtherDiagnosisCode22,\n"
+ " OtherDiagnosisCode23,\n"
+ " OtherDiagnosisCode24 \n"
+ " FROM STAGING.UB04_Load x\n"
+ " JOIN (SELECT UB04_LoadSegmentNumber, SUM(Charges) as TotalDetailCharges, SUM(CASE WHEN IsFacilityCharge = 1 THEN Charges ELSE 0 END) as TotalDetailFacilityCharges \n"
+ " FROM STAGING.UB04Detail_Load \n"
+ " WHERE LoadBatchID=717593\n"
+ " AND IsValid=1\n"
+ " GROUP BY UB04_LoadSegmentNumber\n"
+ " ) xd ON x.SegmentNumber=xd.UB04_LoadSegmentNumber\n"
+ " WHERE x.RowID BETWEEN 2226942 AND 2227669\n"
+ " AND x.LoadbatchID=717593\n"
+ " AND x.IsValid=1\n\n\n"
+ " SELECT @UBRowsInserted=@@ROWCOUNT\n"
+ " Print 'Done. Inserted ' + cast(@UbRowsInserted as varchar(10)) + 'UB records.'\n"
+ " Print 'Inserting detail...'\n"
+ " /* INSERT UB DETAIL RECORDS */\n\n"
+ " INSERT INTO app.UB04Detail (\n"
+ " UB04ID,\n"
+ " RevenueCode,\n"
+ " Description,\n"
+ " HCPCSRates,\n"
+ " ProcedureCode,\n"
+ " RoomRate,\n"
+ " ServiceDateSerial,\n"
+ " ServiceUnits,\n"
+ " Charges,\n"
+ " NonCoveredCharges,\n"
+ " UnlabeledField_FL49,\n"
+ " RV)\n"
+ " SELECT ub.UB04ID,\n"
+ " ubd.RevenueCode,\n"
+ " ubd.Description,\n"
+ " ubd.HCPCSRates,\n"
+ " ubd.CPTCode,\n"
+ " ubd.RoomRate,\n"
+ " ubd.ServiceDateSerial,\n"
+ " ubd.ServiceUnits,\n"
+ " ISNULL(ubd.Charges,0),\n"
+ " ubd.NonCoveredCharges,\n"
+ " ubd.UnlabeledField_FL49,\n"
+ " 0 as RV\n"
+ " \n"
+ " FROM STAGING.UB04Detail_Load ubd\n"
+ " JOIN App.UB04 ub ON ubd.UB04_LoadSegmentNumber=ub.SegmentNumber AND ubd.LoadBatchID=ub.LoadBatchID\n"
+ " JOIN Staging.UB04_Load x ON x.SegmentNumber=ubd.UB04_LoadSegmentNumber AND ubd.LoadbatchID=x.LoadbatchID\n"
+ " WHERE ubd.IsValid=1\n"
+ " AND x.IsValid=1\n"
+ " AND ub.LoadbatchID=x.LoadbatchID\n"
+ " AND x.RowID BETWEEN 2226942 AND 2227669\n"
+ " AND x.LoadbatchID=717593\n"
+ " \n"
+ " SELECT @UBDetailRowsInserted=@@ROWCOUNT\n"
+ " \n"
+ " Print 'Done. Inserted ' + cast(@UBDetailRowsInserted as varchar(10)) + ' detail records.'\n"
+ " \n"
+ " Print 'Checking for errors...'\n"
+ "IF (ISNULL(@ValidUBCount,0) < @RecordsInBatch) OR ISNULL(@UBRowsInserted,0) != ISNULL(@ValidUBCount,0)\n"
+ "BEGIN\n"
+ " Print 'Found errors. Inserting UB level errors into LoadbatchError...'\n"
+ " INSERT INTO STAGING.LoadBatchError \n"
+ " (LoadBatchID, \n"
+ " RowID,\n"
+ " ErrorDescription)\n"
+ " SELECT \n"
+ " 717593, \n"
+ " RowID,\n"
+ " ValidationMessage\n\n"
+ " FROM STAGING.UB04_Load x\n"
+ " WHERE IsValid=0\n"
+ " AND x.LoadbatchID=717593\n"
+ " AND x.RowID BETWEEN 2226942 and 2227669\n"
+ " \n"
+ " Print 'Done inserting UB errors'\n"
+ " Print 'Inserting detail errors...'\n"
+ " INSERT INTO STAGING.LoadBatchError \n"
+ " (LoadBatchID, \n"
+ " RowID,\n"
+ " ErrorDescription)\n"
+ " SELECT \n"
+ " 717593, \n"
+ " ubd.RowID,\n"
+ " 'Invalid Detail record:' + ISNULL(ubd.ValidationMessage,'(EMPTY)')\n"
+ " FROM STAGING.UB04Detail_Load ubd\n"
+ " JOIN Staging.UB04_Load xw ON x.SegmentNumber=ubd.UB04_LoadSegmentNumber AND ubd.LoadbatchID=x.LoadbatchID\n"
+ " WHERE ubd.IsValid=0\n"
+ " AND x.LoadbatchID=717593\n"
+ " AND x.RowID BETWEEN 2226942 and 2227669\n"
+ " Print ' Done inserting detail errors.'\n"
+ " \n"
+ "END\n\n\n"
+ " PROC_CLEANUP:\n"
+ " Print 'Cleaning up load records...'\n"
+ " DELETE ubd \n"
+ " FROM STAGING.UB04Detail_Load ubd\n"
+ " JOIN App.UB04 ub ON ubd.UB04_LoadSegmentNumber=ub.SegmentNumber AND ub.LoadBatchID=717593\n"
+ " WHERE ubd.LoadbatchID=717593\n"
+ " AND ubd.IsValid=1\n"
+ " Print 'Done with UB cleanup.'\n"
+ " Print 'Cleaning up detail records...'\n"
+ " DELETE x\n"
+ " FROM STAGING.UB04_Load x\n"
+ " JOIN APP.UB04 ub ON x.RowID = ub.SegmentNumber AND ub.LoadBatchID=717593 \n"
+ " LEFT JOIN STAGING.UB04Detail_Load ubd ON ubd.UB04_LoadSegmentNumber=ub.SegmentNumber AND ub.LoadBatchID=717593\n"
+ " WHERE x.RowID BETWEEN 2226942 AND 2227669 \n"
+ " AND x.LoadbatchID=717593\n"
+ " AND ubd.RowID IS NULL\n"
+ " Print 'Done with detail..'\n\n\n"
+ " SET @ReturnValue=0 \n"
+ " COMMIT TRANSACTION\n\n"
+ "END TRY \n"
+ "BEGIN CATCH\n"
+ " Exec usp_PrintErrorInfo\n"
+ " RaisError('Problem in Ub Loader for LoadbatchID %d. Details to follow...', 16,1, 717593)\n"
+ " ROLLBACK TRANSACTION\n"
+ "END CATCH\n\n"
+ "IF ISNULL(@UBRowsInserted,0) != ISNULL(@ValidUBCount,0)\n"
+ "BEGIN\n"
+ " RaisError('Number of UB records inserted %d does not match the number of valid records %d. Check to make sure each UB record has a detail record.', 16,1,@UbRowsInserted, @ValidUBCount)\n"
+ " SET @ReturnValue=99\n"
+ "END\n\n\n"
+ "--RETURN @ReturnValue\n\n\n\n\n";
final Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html