Vbscript Case Statment using multiple regular Expression pattern

I need to use a case statement or If - Then structure to change account numbers.  I have a search string that uses a long regular expression statement.  ITs actually 3 "filters" with the " | " or statement.  That part works.  i have echoed back what it finds there adn its doing its job.  

The problem is, i need to do different things to clean up the account number based on which regexpr was used to find that number.  Right now i have only 3 possibilities...but it could grow to much more.  SO, i need to use a case or If - then statement to check and see if the account number it finds is = to which regexpr pattern.  I know this code is wrong and does not work..but gives teh idea of what i'm trying to do

I am decent with vbscript, but cannot figure out the logic for this answer.
Thanks in advance
' Try to find first type of account number
         ' Find Account Number inside Text File
         Set inFile = objFileSys.openTextFile(txtFile,1,True)
         Set objRegExpr = New RegExp
         objRegExpr.Global = True
         objRegExpr.Pattern = "[0-9]{6}[\s][0-9]{7}[\s][0-9]{5}|[0-9]{3}\-[0-9]{3}\-[0-9]{3}\-[0-9]{1}|[6][0-9]{15}"
         
         Set varPatternA = New RegExp
		 varPatternA.Global = True
		 varPatternA.Pattern = "[0-9]{6}[\s][0-9]{7}[\s][0-9]{5}"
 
		 Set varPatternB = New RegExp
		 varPatternB.Global = True
		 varPatternB.Pattern = "[0-9]{3}\-[0-9]{3}\-[0-9]{3}\-[0-9]{1}"
		 
		 Set varPatternC = New RegExp
		 varPatternC.Global = True
		 varPatternC.Pattern = "[6][0-9]{15}"
        
	 ' finds account number pattern in file  "* ################"
         
 
	 Do Until infile.AtEndOfStream
            Set regExprMatch = objRegExpr.Execute (infile.readline)
	    	For Each objMatch in regExprMatch
				
		   If objMatch.Value = varPatternA Then
		         docAccountNumber = objMatch.value
                         ' Trim spaces out of AccNum
                          regEx.Pattern = "\s"
                          docAccountNumber = Trim(regEx.Replace(docAccountNumber, ""))
                          docAccountNumber = Left(docAccountNumber,15)
		     End IF
				
		If objMatch.Value = varPatternB.Pattern Then                
                	docAccountNumber = objMatch.value
                       ' Trim "-" out of the account Number
                        regEx.Pattern = "\-"
                        docAccountNumber = Trim(regEx.Replace(docAccountNumber, ""))
                        ' Add  Header Code
                        docAccountNumber = "123456" & docAccountNumber
                End If
                
		If objMatch.Value = varPatternC.Pattern Then                
                	docAccountNumber = objMatch.Value
                End If

Open in new window

LVL 1
KentuckyDataServiceAsked:
Who is Participating?
 
ddrudikCommented:
In ASP VBSCRIPT you would normally use a .Test that would return true/false if a given regex would match.  Not sure I follow your question though.
<%
Set regEx = New RegExp
regEx.Global = True
regEx.IgnoreCase = True
regEx.MultiLine = True
teststring = "your string"
regEx.Pattern = "^[a-z]+$"
Set Test = regEx.Test(teststring)
%>

Open in new window

0
 
ddrudikCommented:
KentuckyDataService, did that answer your question?  Let me know if I can help further.
0
 
KentuckyDataServiceAuthor Commented:
I think that could have worked, i will award you the points.  I ended up using 2 regular expressions using the OR " | " for it.  Not the most efficient way, but it worked.
0
 
ddrudikCommented:
Thanks for the question and the points.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.