[英]Parsing string and grouping them with Regex?
我不知道如何使用正则表达式,但是我的朋友告诉我这将是我要实现的最有效的方法。 我已经请了多个人来帮助,但是他们给我的所有代码都没有记载,这根本没有帮助。 这个项目供我学习-我认为这将是最好的地方。 无论如何-我正在尝试将所有内容分组。
这是一个示例代码:
<tr>
<td width=0%>One:</td><td width=23% class='colour'>Text</a></td>
<td width=0%>Two:</td><td width=23% class='colour'><div class='full' Style='width:140px'><div class='active' style='width:70px'></div></div></td>
<td width=0%>Three:</td><td class="colour"><div class='full' style='width:140px'><div class='active' style='width:70px'></div></div></td>
</tr>
<tr>
<td width=0%>Seven:</td><td class="colour">Text</a></td>
<td width=0%>Eight:</td><td class="colour"><div class='full' style='width:140px'><div class='active' style='width:84px'></div></div></td>
<td width=0%><strong>Twenty</strong>:</td><td width=23% class='colour'><div class='ful' style='width:140px'><div class='active' style='width:80.3345222473px'></div></div> (5.74)</td>
</tr>
我将如何解析所有这些内容,以便将其进行分组? (我仅以string []为例)
string[] tr1 = new string[]{
One: Text
Two: 140/70
Three: 140/70
}
string[] tr2 = new string[]{
Seven: Text
Eight: 140/84
Twenty: 140/80.3345222473
}
划分基本上是“完整样式” /“活动样式”。
是否可以使用正则表达式或其他任何方式?
很抱歉,由于我真的没有做过任何与之相关的事情,所以我无法展示自己已经做过的事情。.我已经尝试学习Regex模式,因为我的朋友告诉我Regex是最有效的,但是我失败了,真是不幸。
如果有人可以指导我完成这一切,那将意味着一大堆!
谢谢!
如果使用下面的Regex模式,它将帮助您提取“一个:”和“文本”,当然,然后您可以连接自己喜欢的方式。
<td width=0%>(.+)</td><td[^>]+>([^<]+).*</td>
这个怎么运作:
<td width=0%>
。 (.+)
满足的“一个:”,这意味着给我除至少一个字符外的任何字符。 它何时知道何时停止是</td>
紧随其后的是比括号更高的匹配优先级。 ([^<]+)
,这意味着给我任何字符,直到它击中左箭头<
为止。 </td>
为止。 通过上面的内容,您还可以使用类似的方式来捕获“ Two:”和“ Three:”。
为了帮助您检索140,您需要开始寻找要匹配的条件。 根据您的HTML,我看到“ style=...
”,它们都在<div class=full
。 因此,要提取140或70或123.45,可以使用:
<div class='full' style='width:([0-9.]+)px[^>]+>
说明:
和以前一样,您需要先决条件。 然后捕获为([0-9.]+)
,表示至少1个数字或点,紧随其后的是px
(必须匹配),依此类推。
有很多方法可以满足您的要求。 这些不是满足您需求的最佳正则表达式模式,但足够了。
更新:由于我看到大小写混合,请在正则表达式选项中使用“忽略大小写”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.