Regex 正则表达式-最短匹配
我需要通过正则表达式解析一个HTML字符串,得到键后是我需要提取的值 原始字符串示例:Regex 正则表达式-最短匹配,regex,Regex,我需要通过正则表达式解析一个HTML字符串,得到键后是我需要提取的值 原始字符串示例: <TR><TD>VAL1</TD><TD>KEY1</TD></TR><TR><TD>VAL2</TD><TD>KEY2</TD></TR> 假设键是常量且值在更改,如何解决此问题 提前感谢,, 迈克尔使用 <TD>([^<]*)</TD&g
<TR><TD>VAL1</TD><TD>KEY1</TD></TR><TR><TD>VAL2</TD><TD>KEY2</TD></TR>
假设键是常量且值在更改,如何解决此问题
提前感谢,,
迈克尔使用
<TD>([^<]*)</TD><TD>KEY2</TD>
([^使用
([^我不知道您使用的是什么语言,但如果是PHP,我认为您最好使用它,而不是使用正则表达式解析它
这里有一种方法:
<?php
$html="<TR><TD>VAL1</TD><TD>KEY1</TD></TR><TR><TD>VAL2</TD><TD>KEY2</TD></TR>";
$doc = new DOMDocument();
$doc->loadHTML($html);
print_r($doc->getElementById(1)->tagName);
$output=array();
$n=0;
while ($val = $doc->getElementsByTagName('td')->item($n++)) {
$key = $doc->getElementsByTagName('td')->item($n++);
$output[$key->textContent]=$val->textContent;
}
print_r($output);
我不知道您使用的是什么语言,但如果是PHP,我认为您最好使用它,而不是使用正则表达式解析它
这里有一种方法:
<?php
$html="<TR><TD>VAL1</TD><TD>KEY1</TD></TR><TR><TD>VAL2</TD><TD>KEY2</TD></TR>";
$doc = new DOMDocument();
$doc->loadHTML($html);
print_r($doc->getElementById(1)->tagName);
$output=array();
$n=0;
while ($val = $doc->getElementsByTagName('td')->item($n++)) {
$key = $doc->getElementsByTagName('td')->item($n++);
$output[$key->textContent]=$val->textContent;
}
print_r($output);
你怎么知道他们要的是PHP?+1因为没有发布YAPPeR(“又一个伪解析正则表达式”)@Joey-说得好。我想我已经读了太多相同的问题。答案也相应地被编辑了。CodeGnome,对于如此琐碎的事情,顺便说一句,使用正则表达式是完全可以的。没有嵌套结构,绝对是你所期望的一种常规语言。见鬼,为什么不使用正则表达式?它们就是为了这个目的而存在的:)你怎么知道他们要的是PHP?+1因为没有发布YAPPeR(“又一个伪解析正则表达式”)@Joey-说得好。我想我已经读了太多相同的问题。答案也相应地被编辑了。CodeGnome,对于如此琐碎的事情,顺便说一句,使用正则表达式是完全可以的。没有嵌套结构,绝对是你所期望的一种常规语言。见鬼,为什么不使用正则表达式?它们就是为了这个目的而存在的:)
<?php
$html="<TR><TD>VAL1</TD><TD>KEY1</TD></TR><TR><TD>VAL2</TD><TD>KEY2</TD></TR>";
$doc = new DOMDocument();
$doc->loadHTML($html);
print_r($doc->getElementById(1)->tagName);
$output=array();
$n=0;
while ($val = $doc->getElementsByTagName('td')->item($n++)) {
$key = $doc->getElementsByTagName('td')->item($n++);
$output[$key->textContent]=$val->textContent;
}
print_r($output);
Array
(
[VAL1] => KEY1
[VAL2] => KEY2
)