/ / Neviem zistiť, čo je s týmto regulárnym výrazom zlé - regex, vbscript

Neviem zistiť, čo sa deje s týmto regulárnym výrazom - regex, vbscript

Takže som napísal nasledujúci vbscript na prečítanie asúbor, ktorý by výstup príkazového riadku. Obsah súboru by bol jednoducho (COMx), pričom x je číslo portu príslušného zariadenia. Tento skript má prečítať tento súbor a vytiahnuť "x" a uložiť ho do nového textového súboru. Napísal som to asi pred dvoma týždňami a otestoval som to, fungovalo to. Teraz sa zdá, že bez ohľadu na to, čo robím, nemôžem vôbec pracovať. Je to tak zarážajúce, ako to fungovalo pred dvoma týždňami. Teraz to len vytvára výstupný súbor, v ktorom nie je nič. Neviem, či náhodou niečo alebo čo sa zmenilo, ale akákoľvek pomoc by bola ocenená.

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:rtlstuffCOM.txt", ForReading)
strContents = objFile.ReadAll
objFile.Close

Set regex = New RegExp
With regex
.Pattern = ".*(COM(.+)?).*"
End With

Dim ComPort
If regex.Test(strContents) Then
ComPort = regex.Replace(strContents,"$1")
End If

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="c:rtlstuffComPort.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write ComPort
objFile.Close

odpovede:

0 pre odpoveď č. 1

Regex vyzerá ako prehnane. Ak viete, že riadok obsahuje iba „COMx“, prečo nepoužiť jednu z týchto metód?

" Option 1: Start at the 4th char...
strContents = Mid(objFile.ReadLine, 4)

" Option 2: Remove "COM" from the line...
strContents = Replace(objFile.ReadLine, "COM", "")