35 lines
		
	
	
	
		
			752 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			752 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| Dim action, pat, patparts, rxp, inp, matchCount
 | |
| action = WScript.Arguments(0)
 | |
| pat = WScript.Arguments(1)
 | |
| pat = Replace(pat, """, chr(34))
 | |
| pat = Replace(pat, "&hat;", "^")
 | |
| pat = Replace(pat, "&", "&")
 | |
| 
 | |
| Set rxp = new RegExp
 | |
| rxp.Global = True
 | |
| rxp.Multiline = False
 | |
| If action = "Replace" Then
 | |
|   patparts = Split(pat, "/")
 | |
|   rxp.Pattern = patparts(0)
 | |
| Else
 | |
|   rxp.Pattern = pat
 | |
| End If
 | |
| 
 | |
| matchCount = 0
 | |
| Do While Not WScript.StdIn.AtEndOfStream
 | |
|   inp = WScript.StdIn.ReadLine()
 | |
|   If rxp.Test(inp) Then
 | |
|     matchCount = matchCount + 1
 | |
|   End If
 | |
|   If action = "Replace" Then
 | |
|     WScript.Echo rxp.Replace(inp, patparts(1))
 | |
|   End If
 | |
| Loop
 | |
| 
 | |
| If action = "Replace" Then
 | |
|   If matchCount = 0 Then
 | |
|     WScript.Quit(2)
 | |
|   End If
 | |
| Else
 | |
|   WScript.Echo matchCount
 | |
| End If
 | 
