RegEx查找模式并忽略所有空格

时间:2013-02-01 17:23:23

标签: regex vb.net visual-studio-2010

我想在脚本文件中找到以下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

3 个答案:

答案 0 :(得分:2)

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

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

这将匹配任何看起来像 For(在下一个之前的所有内容)的内容:下一步

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

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

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

答案 1 :(得分:0)

\s将匹配空格:

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

答案 2 :(得分:0)

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