首页 新闻 会员 周边 捐助

正则表达式,请高手不吝赐教

0
悬赏园豆:100 [待解决问题]

<p>9:30 欢迎大家进入房间</P>

----------大段文字----------------------

<p>9:33 我是主持人做个自我介绍</P>

----------大段文字----------------------

类似于这种字符串,请教,如何写这样的正则表达式,来提取我需要的两句话

要求输出:9:30 欢迎大家进入房间|9:33 我是主持人做个自我介绍

我想要C#写的代码,呵呵,谢谢啊,答案采用立刻送分

jianhua2001的主页 jianhua2001 | 初学一级 | 园豆:100
提问于:2011-03-06 15:10
< >
分享
所有回答(3)
0

            System.Text.RegularExpressions.Regex.Replace(html, @"<.*?>", "");

慧☆星 | 园豆:5722 (大侠五级) | 2011-03-06 19:56
0

 string value = "<p>9:30   欢迎大家进入房间</p><p>9:30  欢迎大家进入房间</p>-----------中间一大段文字-------------<p>9:30欢迎大家进入房间</p>";        Regex reg = new Regex("<p>\\s*\\d{1,2}:\\d{1,2}\\s*[\u4e00-\u9fa5]*\\s*</p>", RegexOptions.IgnoreCase);        string resultStr = "";        MatchCollection result = reg.Matches(value);        for (int i = 0; i < result.Count; i )        {            resultStr = result[i].Value;            if (i != result.Count - 1)            {                resultStr = "|";            }        }        Response.Write(resultStr);

lichaoxyz | 园豆:195 (初学一级) | 2011-03-06 20:44
0
static void Main(string[] args)
{
string regex = @"(?is)<p[^>]*>(?><p[^>]*>(?<o>)|</p(?<-o>)|(?:(?!</?p\b).)*)*(?(o)(?!))</p>";
string Str = @"<p>9:30 欢迎大家进入房间</P>

----------大段文字----------------------

<p>9:33 我是主持人做个自我介绍</P>

----------大段文字----------------------
";
Console.WriteLine(getMatchstring(regex, Str));
Console.ReadKey();
//9:30 欢迎大家进入房间|9:33 我是主持人做个自我介绍
}

#region methods

private static string getMatchstring(string reg, string src)
{
System.Text.RegularExpressions.Regex matchesRegex
= new System.Text.RegularExpressions.Regex(reg, RegexOptions.IgnoreCase);

System.Text.RegularExpressions.MatchCollection matchesFound
= matchesRegex.Matches(src);
System.Text.StringBuilder resultString
= new System.Text.StringBuilder(64);
ArrayList myArray
= new ArrayList();
myArray.Clear();

for (int i = 0; i < matchesFound.Count; i++ )
{
myArray.Add(matchesFound[i]);
}
for (int k = 0; k < myArray.Count; k++ )
{
resultString.Append(myArray[k].ToString().Remove(myArray[k].ToString().Length
- 4, 4).Remove(0, 3)+ "|");
}
return resultString.ToString().TrimEnd('|');
}
执行结果:
//
9:30 欢迎大家进入房间|9:33 我是主持人做个自我介绍


邀月 | 园豆:25475 (高人七级) | 2011-03-06 21:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册