正则表达式的问题,跪求高手解决!!

Darby 2007-02-26 12:49:33
<td width="10%" align="center" class="sptr1">73</td>请问大家有如何用正则表达式去匹配。我想要得来73这个值呢??我这样子写是得不到的呀。\s<td width=""10%"" align=""center"" class=""sptr1"">([^>]+)</td> 但是这样子写是可以得到单元格的字符串  高手帮帮忙的呀!!感激不尽!!!
...全文
935 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
best8625 2007-02-28
  • 打赏
  • 举报
回复
学习了,,
redpyramid 2007-02-28
  • 打赏
  • 举报
回复
1. EmEditor:
Regular Expressions:
--------------------------------------------
(\=?<td.+\=?>)(.+)(\=?</td\=?>)
--------------------------------------------

replace Regular Expressions:
********************************************
\1temp\3
********************************************

============================================
2. Visual Studio:
Regular Expressions:
--------------------------------------------
{\<td.+\>}{.+}{\</td\>}
--------------------------------------------

replace Regular Expressions:
********************************************
\1temp\3
********************************************

以上在EmEditor 和Visual Studio 测试过,查找和替换没有问题,可以执行。
xuzhenqinandy 2007-02-27
  • 打赏
  • 举报
回复
这个你可以直接获得呀,不用什么正则表达试
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script>
function addTable()
{ var tableTest = document.getElementById("tableName");
alert(tableTest.rows(0).cells(1).innerHTML);
}
</script>
</head>

<body>

<input type="button" name="butName" id="butName" value="确定" onClick="addTable()"/>
<div id="tableTest">
<table id="tableName">
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
</div>
</body>
</html>
细细rainbow 2007-02-27
  • 打赏
  • 举报
回复
mark
兔子-顾问 2007-02-26
  • 打赏
  • 举报
回复
C#字符串和正则表达式参考手册
我有电子版的……
wangdetian168 2007-02-26
  • 打赏
  • 举报
回复
(.*)
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
你去买本书吧(正则表达式)的
C#字符串和正则表达式参考手册(清华大学出版社)
里面都有.
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
(?<=\<td.+\>)表达式(?=\</td\>)
这是提取两边为<td任意字符></td>中间的字符串
([\u4e00-\u9fa5\d\w ])+再对字符串进行筛选
\u4e00-\u9fa5汉字
\d数字
\w字母
空格
[\u4e00-\u9fa5\d\w ]可以是汉字,数字,字母,空格
+多个连续满足前面表达式
Darby 2007-02-26
  • 打赏
  • 举报
回复
你们写的那种写法。我不是很看得懂的呀!!
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
//把要提取的内容复制到richTextBox1.Text中去
//添加一个listBox
//添加一个button将以下代码复制在事件中.

string content=richTextBox1.Text;
string rule=@"(?<=\<td.+\>)([\u4e00-\u9fa5\d\w ])+(?=\</td\>)"

content=System.Text.RegularExpressions.Regex.Replace(content,@"[ ]+",string.Empty);
System.Text.RegularExpressions.MatchCollection matchs=System.Text.RegularExpressions.Regex.Matches(content,rule,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
listBox1.Items.Clear();
if(matchs==null||matchs.Count<=0)
return;
foreach(System.Text.RegularExpressions.Match match in matchs)
listBox1.Items.Add(match.Value);
Jamestan 2007-02-26
  • 打赏
  • 举报
回复
找不到的话mail找我要:tjs1971(at)gmail.com
Darby 2007-02-26
  • 打赏
  • 举报
回复
好的。。我去下载看看的呀!
Jamestan 2007-02-26
  • 打赏
  • 举报
回复
呵呵,你可以找到《C#高级编程》,上面我记得好像有正则检查器的全部代码。
Darby 2007-02-26
  • 打赏
  • 举报
回复
下载了。
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
下载吗?直接在vs里写个测试就行了.
Darby 2007-02-26
  • 打赏
  • 举报
回复
谢谢!!
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
当然
<td width="10%" align="center" class="sptr1"> 正常 </td>
这个是不行的,你可以去掉空格再提取.
或者改成
(?<=\<td.+\>).+(?=\</td\>)任意字符
Darby 2007-02-26
  • 打赏
  • 举报
回复
谢谢!!我去下载正式测试软件
lxwin01 2007-02-26
  • 打赏
  • 举报
回复
System.Text.RegularExpressions.MatchCollection matchs=System.Text.RegularExpressions.Regex.Matchs("文本",@"(?<=\<td.+\>)\S+(?=\</td\>)",RegexOptions.IgnoreCase);
我测试过可以的
Darby 2007-02-26
  • 打赏
  • 举报
回复
谢谢Jamestan(情商蛋蛋)。。接分
加载更多回复(12)

110,534

社区成员

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

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

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