0

我有一个正则表达式,即@"\{ImageSource = imageURIs\[(\d*)\]\} //(.*)\s$".

它匹配类似的行{ImageSource = imageURIs[123]} //whatever_goes_here,它在 VS Find&Replace 框中工作得非常好,但在放入 C# 时却不行。但是,等等:它们有相同的引擎!MSDN 链接,顶行!

请你帮助我好吗?我认为所有内容都已转义(不需要的括号:我将它们用作组!)而且我无法在 VS F&R 中完成所有工作,因为我正在将它与另一个列表合并。

谢谢!

4

3 回答 3

2

是那个决赛\s打破了一切吗?真的应该在那里,强制它只匹配带有尾随空格的行吗?

于 2013-04-29T21:12:09.990 回答
0

如果没有您的实际文件来匹配行,这可能会非常困难。但是,这是一个潜在的变化。(注意懒惰和接近尾声的变化。).*?\s*

@"\{ImageSource = imageURIs\[(\d*)\]\} //(.*?)\s*$"
于 2013-04-29T21:14:01.073 回答
0

我认为RegexOptions默认值并不意味着Multiline(请参​​阅正则表达式选项默认选项部分),它意味着$将匹配输入的结尾而不是每一行的结尾。此外,如果没有选项, .(dot) 将不匹配(请参阅RegexOptions Enumeration)。\nSingleline

因此,您可以尝试使用这些选项,也许在您的情况Multiline

于 2013-04-29T21:35:25.170 回答