2014-12-04 15 views
1

如何在VB腳本中包含正則表達式模式的空間?如何在VB腳本中以正則表達式模式包含空格/空格?

對於此代碼:

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set file = objFSO.OpenTextFile("sample.txt" , ForReading) 
Const ForReading = 1 

Dim re 
Set re = new regexp 
re.Pattern = "(\w+?[(]\w+?[)];)" 
re.IgnoreCase = True 
re.Global = True 

Dim line 
Do Until file.AtEndOfStream 
    line = file.ReadLine 
    For Each m In re.Execute(line) 
     Wscript.Echo m.Submatches(0) 
    Next 
Loop 

隨着sample.txt的文件:

object(); 
object(string); 

我想呼應這樣的:

object(); 
object(string); 

取而代之的只有這個:

object(string); 
+0

假設'[]'會做的伎倆,但我不知道 – naomik 2014-12-04 01:56:54

回答

1

如下更改模式:

re.Pattern = "(\w+?[(]\w*?[)];)" 
'      ^use * instead of + here 

使用*(零或更多的)量詞,而不是+(一個或更多的)量詞會讓你符合這兩個:

object(); 
object(string); 
+1

它的工作。謝謝。 – ladiesman1792 2014-12-04 02:07:53