求一正则表达式(关于html取数据)

frank1314 2008-10-17 08:01:24
求一正则表达式
<p>你好</p>
结果是:你好
< >中为任意数字或字母或符号,谁知道?
...全文
127 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
frank1314 2008-10-17
  • 打赏
  • 举报
回复
谢了,一时没看见!
root_ 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 frank1314 的回复:]
省了都不行,救命啊!!
[/Quote]

代码都已经给到这份上了,楼主再说不行那我也无话可说

最后再强调一下,楼主用的是 mc1[i].Groups["content"].Value
而我的代码取的是      mc1[i].Groups[2].Value;

再不行我也只能对楼主读代码能力和语言表达能力深表遗憾了
止戈而立 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 root_ 的回复:]
贴你的测试代码,我测试没问题


C# codestring test = "<p> <font size=\"3\" color=\"#008000\">你好</font> </p> ";
MatchCollection mc = Regex.Matches(test, @"<([^\s>]*)[^>]*>([^<>]*)</\1>");
foreach (Match m in mc)
{
richTextBox1.Text += m.Groups[2].Value + "\n";
}
[/Quote]

这个是正解。。
frank1314 2008-10-17
  • 打赏
  • 举报
回复
省了都不行,救命啊!!
root_ 2008-10-17
  • 打赏
  • 举报
回复
不需要用的时候,不要滥用RegexOptions.IgnoreCase|RegexOptions.Compiled这些参数
root_ 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 frank1314 的回复:]
打错

刚才的也是别人的,都不行!
[/Quote]

从哪里搞来的Groups["content"],能行才怪

MatchCollection本来就是一个集合,有必要再搞个数组吗,就算是一定要,用泛型也比数组来得容易

string test = "<p> <font size=\"3\" color=\"#008000\">你好</font> </p> ";
MatchCollection mc = Regex.Matches(test, @"<([^\s>]*)[^>]*>([^<>]*)</\1>");
List<string> list = new List<string>();
foreach (Match m in mc)
{
list.Add(m.Groups[2].Value);
}


算了,我还是按楼主的代码写个吧

string test = "<p> <font size=\"3\" color=\"#008000\">你好</font> </p> ";
MatchCollection mc1 = Regex.Matches(test, @"<([^\s>]*)[^>]*>([^<>]*)</\1>");
string[] div1 = new string[mc1.Count];
for (int i = 0; i < mc1.Count; i++)
{
div1[i] = mc1[i].Groups[2].Value;
}
frank1314 2008-10-17
  • 打赏
  • 举报
回复
打错
string str=" <p> <font size=\"3\" color=\"#008000\">你好 </font> </p> ";
Regex htmlRegex1 = new Regex(@"<([^\s>]*)[^>]*>([^<>]*)</\1>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection mc1 = htmlRegex1.Matches(str); //抽取标题
string[] div1 = new string[mc1.Count];
for (int i = 0; i < mc1.Count; i++)
{
div1[i] = mc1[i].Groups["content"].Value;
}






刚才的也是别人的,都不行!
root_ 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 frank1314 的回复:]
string str=" <p> <font size=\"3\" color=\"#008000\">你好 </font> </p> ";
Regex htmlRegex1 = new Regex(@" <.*>(.*)? </.*>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection mc1 = htmlRegex1.Matches(str); //抽取标题
string[] div1 = new string[mc1.Count];
for (int i = 0; i < mc1.Count; i++)
{
div1[i] = mc1[i].Groups["content"].Value;
}

[/Quote]

我汗,敢情我这正则是白写了。。。
frank1314 2008-10-17
  • 打赏
  • 举报
回复
string str="<p> <font size=\"3\" color=\"#008000\">你好</font> </p> ";
Regex htmlRegex1 = new Regex(@"<.*>(.*)?</.*>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection mc1 = htmlRegex1.Matches(str); //抽取标题
string[] div1 = new string[mc1.Count];
for (int i = 0; i < mc1.Count; i++)
{
div1[i] = mc1[i].Groups["content"].Value;
}
root_ 2008-10-17
  • 打赏
  • 举报
回复
贴你的测试代码,我测试没问题

string test = "<p> <font size=\"3\" color=\"#008000\">你好</font> </p> ";
MatchCollection mc = Regex.Matches(test, @"<([^\s>]*)[^>]*>([^<>]*)</\1>");
foreach (Match m in mc)
{
richTextBox1.Text += m.Groups[2].Value + "\n";
}
frank1314 2008-10-17
  • 打赏
  • 举报
回复
取不到,取到空值
<p><font size="3" color="#008000">你好</font></p>
得不到:你好
root_ 2008-10-17
  • 打赏
  • 举报
回复
试下是否符合要求

MatchCollection mc = Regex.Matches(str, @"<([^\s>]*)[^>]*>([^<>]*)</\1>");
foreach (Match m in mc)
{
richTextBox1.Text += m.Groups[2].Value + "\n";
}
frank1314 2008-10-17
  • 打赏
  • 举报
回复
不好意思,没说清楚,是提取,
例如:
<p><font>你好</font></p>
出来结果是:你好
root_ 2008-10-17
  • 打赏
  • 举报
回复
需求不明确,你这算是提取还是替换呢,给个复杂些的例子,并给出结果

string result = Regex.Replace(yourStr, @"<[^>]*>", "");
MessageBox.Show(result);
基于LOS算法+反步控制的水下航行器AUVUUV三维路径跟踪控制研究(Matlab代码实现)内容概要:本文研究基于LOS(Line-of-Sight)算法与反步控制相结合的水下航行器(AUV/UUV)三维路径跟踪控制方法,并提供了完整的Matlab代码实现。通过构建水下航行器的动力学模型,结合LOS导引策略实现路径跟踪,利用反步控制方法设计控制器以保证系统稳定性与跟踪精度,有效应对海洋环境中的外部干扰与模型不确定性。文中详细阐述了控制算法的设计过程、稳定性分析及仿真验证,展示了在复杂三维路径下的良好跟踪性能。; 适合人群:具备自动控制理论、非线性控制基础及Matlab/Simulink仿真能力的研究生、科研人员及从事水下机器人控制开发的工程技术人员。; 使用场景及目标:①用于水下无人航行器路径跟踪控制系统的算法设计与仿真验证;②学习LOS导引法与反步控制在非线性系统中的综合应用;③为海洋机器人运动控制、自动驾驶等领域提供技术参考与代码实现模板。; 阅读建议:建议结合控制理论基础知识,逐步理解LOS算法的几何原理与反步控制的递推设计思想,重点分析Lyapunov稳定性证明过程,并通过Matlab代码调试与仿真实验加深对算法性能的理解。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧