62,046
社区成员
发帖
与我相关
我的任务
分享
string str = "default([0-9]+)-(\w+)-(\w+).html";
//我想取出
default([0-9]+).html
default([0-9]+)-(\w+).html
default([0-9]+)-(\w+)-(\w+).html
string str = @"default([0-9]+)-(\w+)-(\w+)-(.*).html";
Regex reg = new Regex(@"(default(?:(?!-\().)*)(-[^-]+)*(\.html)");
StringBuilder sb = new StringBuilder();
foreach (Match m in reg.Matches(str))
{
Response.Write(m.Groups[1].Value + m.Groups[3].Value + "<br/>");
foreach (Capture c in m.Groups[2].Captures)
{
sb.Append(c.Value);
Response.Write(m.Groups[1].Value + sb.ToString() + m.Groups[3].Value + "<br/>");
}
}
/*
输出
default([0-9]+).html
default([0-9]+)-(\w+).html
default([0-9]+)-(\w+)-(\w+).html
default([0-9]+)-(\w+)-(\w+)-(.*).html
*/
tring str = "default([0-9]+)-(\w+)-(\w+).html";//这里括号里的是正则,但现在我只它当作字符串。括号里的字符串是不确定的。并且直则的个数,也不确定,现在是三个,可能再加一个 -(.*)都不定
现在我想用正则表达式,找出str里的内容,并输出结果如下。
//我想取出
default([0-9]+).html
default([0-9]+)-(\w+).html
default([0-9]+)-(\w+)-(\w+).html
Regex reg = new Regex(@"default([0-9]+)(-(\w+))*\.html");