2013-02-01 35 views
1

我想在腳本文件中找到以下For循環。我試過以下正則表達式,但不起作用。我無法弄清楚如何跳過所有的空格。 For Next中間的文字也可能有所不同。正則表達式查找模式和igonore全部空格

正則表達式...

/[fF]or [eE]ach.*[aA]s [lL]ist[iI]tem [iI]n .*\.[]tems\s*.*[nN]ext/ 

SEACH這個...

For Each item As ListItem In CheckBoxList1.Items 
    If item.Selected = True Then 
     MyList.Add(item.Text) 
    End If 
Next 
+0

需要注意的一件事是,你的正則表達式正在尋找[sS] tring,並且你的代碼被聲明爲ListItem – jblaske

+0

感謝你提及,我會編輯。 – TroyS

回答

2

如果有什麼之間和明年可以改變我認爲你在尋找:

/[fF]or[\S\s]*?[nN]ext/ 

這將匹配任何看起來像爲(任何東西,直到下一個:)接下來

如果匹配更多的話,你形容我會使用類似:

/[fF]or\s+?[eE]ach[\S\s]+?[aA]s\s+?[lL]ist[iI]tem\s+?[iI]n[\S\s]+?[iI]tems[\S\s]+?[nN]ext/ 

設我知道你是否想要更詳細地描述這一點,但你在下面的評論中的例子不能保證中間的單詞也在那裏。

+0

謝謝。它工作得很好。 [\ S \ S] *?這是尋找什麼的關鍵。我還需要檢查其他一些字。所以這是最後的.../[fF]或[eE] ach。* [aA] s [lL] ist [iI] tem [iI] n。* \。[] tems [\ S \ s] *? [nN] ext /這可能會更好一些,但它可以工作。 – TroyS

+0

它不起作用:它只搜索For後面跟着只有空格,然後是Next! – Roberto

+0

@Roberto'\ s'匹配空格/製表符/換行符'\ S'是否定匹配任何不是空格/製表符/換行符 – Matthew

0

\s將匹配空白:

/[fF]or\s+[eE]ach.*[aA]s\s+[sS]tring\s+[iI]n\s+.*\.[]tems\s*.*[nN]ext/ 
+0

'Next'之前的空白怎麼樣? – TroyS

0

我認爲,這將做到這一點: /[fF]or\s+[eE]ach.*?[aA]s\s+[sS]tring\s+[iI]n\s+.*?\.[]tems\s+.*?\s+[nN]ext/ 記得.*?將匹配最短的字符串可能。