ASP.. NET MVC:多次匹配正则表达式
本文关键字:正则表达式 NET MVC ASP | 更新日期: 2023-09-27 17:49:51
Regex: ^.*?(?=;)
取值范围:00574/KVMK0224.jpg; 00574/1987432370PHANWHCO00MM.jpg
现在只匹配:00574/KVMK0224.jpg
要求:00574/KVMK0224.jpg
和00574/1987432370PHANWHCO00MM.jpg
正如我试图解释的那样,我有一个具有多个图像链接的字符串,我使其工作以获得第一个链接,但现在我想要所有链接。我知道如何在c#中使用regex.Matches
来获得多个匹配,我唯一想知道的是使用什么正则表达式。
我需要得到的第一个链接:
Regex regex = new Regex("^.*?(?=;)");
Match match = regex.Match(link);
if (match.Success)
{
part.ImageUrl = match.Value;
}
我所做的是为了得到所有的链接,我认为这一切都是正确的,当然除了正则表达式
Regex regex = new Regex("^.*?(?=;)");
foreach (Match match in regex.Matches(link))
{
list.Add(match.Value);
}
这样做可能很简单,但是我没有太多使用正则表达式的经验。
提前感谢!
如果所有值由;
分隔,则不需要正则表达式。试试这个:
string imagesString = "....";
string[] images = imagesString.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
编辑:这里你有一个选择,使用正则表达式和处理空白:
string imagesText = "00574/KVMK0224.jpg; 00574/1987432370PHANWHCO00MM.jpg";
string[] images = Regex.Split(imagesText, @"'s*;'s*");
;
也许你可以试试这个?
['w/]*?.jpg(?=;)?