1

我想在脚本文件中找到以下 For Next 循环。我尝试了以下正则表达式,但不起作用。我不知道如何跳过所有的空格。For Next 中间的文本也可以变化。

正则表达式...

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

寻找这个...

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

3 回答 3

2

如果 For 和 Next 之间的内容可能会有所不同,我认为您正在寻找:

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

这将匹配任何看起来像For(anything at all until next:)Next

如果按照您的描述匹配更多单词,我会使用类似的内容:

/[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/

如果您想要对此进行更详细的描述,请告诉我,但您在下面评论中的示例将无法确保中间词也存在。

于 2013-02-01T17:35:46.113 回答
0

\s将匹配空格:

/[fF]or\s+[eE]ach.*[aA]s\s+[sS]tring\s+[iI]n\s+.*\.[]tems\s*.*[nN]ext/
于 2013-02-01T17:29:54.407 回答
0

我认为这个可以做到: /[fF]or\s+[eE]ach.*?[aA]s\s+[sS]tring\s+[iI]n\s+.*?\.[]tems\s+.*?\s+[nN]ext/ 记住.*?会匹配最短的字符串。

于 2013-02-01T17:41:12.880 回答