xml图像文件名中的正则表达式

时间:2015-10-09 11:19:51

标签: c# regex xml

我想要一个代码,它将搜索xml中的图像文件名并在images文件夹中找到它。我已经使用了正则表达式。

xptrImages = Regex.Matches(abridgedXMLContent, "(?<=<xp t=\").+?(?=\"/>)", RegexOptions.IgnoreCase | RegexOptions.Singleline);
if (xptrImages != null)
                    {
                        foreach (Match gif in xptrImages)
                        {
                            if (!File.Exists(Path.Combine(jobPath_ill, gif.Value)))
                            {
                                ErrorModel errorModel12 = new ErrorModel()
                                {
                                    ErrorMessage = string.Concat("No actual image found -- ", gif.Value),
                                    LineData = string.Concat("<xp t=", gif.Value, "/>")
                                };
                                err.Add(errorModel12);
                            }
                        }
                    }

但如果他们没有在xml中找到图像文件名,那么我的正则表达式并没有给我回复。是我的reg exp正确的。我在xml中定位image001.gif,见下文。

<p><xp t="image001.gif"/></p>

1 个答案:

答案 0 :(得分:0)

试试这个

            string input = "<p><xp t=\"image001.gif\"/></p>";
            string pattern = "=\"(?'filename'[^\\.]+\\.(gif|jpg))\"";

            string filename = Regex.Match(input, pattern).Groups["filename"].Value;​