/ / मैं यह नहीं समझ सकता कि इस नियमित अभिव्यक्ति के साथ क्या गलत है - regex, vbscript

मैं यह नहीं समझ सकता कि इस नियमित अभिव्यक्ति के साथ क्या गलत है - regex, vbscript

तो मैंने एक पढ़ने के लिए निम्नलिखित vbscript लिखा थाफाइल करें कि कमांड लाइन आउटपुट होगी। फ़ाइल की सामग्री बस (कॉमक्स) होगी जिसमें x प्रश्न के डिवाइस की पोर्ट संख्या होगी। इस स्क्रिप्ट को उस फ़ाइल को पढ़ना और "x" खींचना और इसे एक नई टेक्स्ट फ़ाइल में सहेजना है। मैंने इसे दो हफ्ते पहले लिखा और इसका परीक्षण किया, यह काम किया। अब ऐसा लगता है कि मैं जो भी करता हूं, मैं काम नहीं कर सकता हूं। यह दो हफ्ते पहले काम करने के लिए इतना परेशान है। अब यह सिर्फ आउटपुट फाइल बनाता है जिसमें कुछ भी नहीं है। मुझे नहीं पता कि मैं नहीं जानता गलती से कुछ बदल गया या क्या, लेकिन किसी भी मदद की सराहना की जाएगी।

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

उत्तर:

जवाब के लिए 0 № 1

एक रेगेक्स ओवरकिल की तरह लगता है। यदि आपको पता है कि लाइन में सिर्फ "कॉमक्स" है, तो इन तरीकों में से किसी एक का उपयोग क्यों न करें?

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

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