Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Regex没有给出预期的结果_Php_Regex - Fatal编程技术网

Php Regex没有给出预期的结果

Php Regex没有给出预期的结果,php,regex,Php,Regex,所以,我得到了一些需要提取值的html表,做了一个正则表达式来获取我想要的值 html表格可以采用以下两种格式: <td height="20" style="width:59px;height:20px;">1</td> <td style="width:212px;">Mendes, Paulo [AA]</td> <td style="width:99px;">39</td&g

所以,我得到了一些需要提取值的html表,做了一个正则表达式来获取我想要的值

html表格可以采用以下两种格式:

<td height="20" style="width:59px;height:20px;">1</td>
            <td style="width:212px;">Mendes, Paulo [AA]</td>
            <td style="width:99px;">39</td>
            <td>8</td>
            <td style="width:85px;">$10,000</td>
        </tr><tr height="20"><td height="20" style="width:59px;height:20px;">2</td>
            <td style="width:212px;">Campos, Miguel [AC]</td>
            <td style="width:99px;">37</td>
            <td>6</td>
            <td style="width:85px;">$5,000</td>
1
圣保罗门德斯[AA]
39
8.
$10,000
2.
米格尔·坎波斯[AC]
37
6.
$5,000
另一个呢

<td>1</td>
            <td>Mendes, Paulo [AA]</td>
            <td>39</td>
            <td>8</td>
            <td>$10,000</td>
        </tr><tr height="20"><td>2</td>
            <td>Campos, Miguel [AC]</td>
            <td>37</td>
            <td>6</td>
            <td>$5,000</td>
1
圣保罗门德斯[AA]
39
8.
$10,000
2.
米格尔·坎波斯[AC]
37
6.
$5,000
对于没有样式的示例,我可以使用此正则表达式获得所需的值:

<td>(\d+)<\/td>\n+\t*<td>([\w+, ]+) \[(\w{2})\]<\/td>
(\d+)\n+\t*([\w+,]+)\[(\w{2})\]
它将在php中使用,我首先使用它来测试正则表达式

现在,要获得样式表的值,我没有运气

尝试了以下“完美匹配”:

(\d+)\n+\t*([\w+,]+)\[(\w{2})\]

但这不是我想要的。甚至尝试了否定搜索,但仍然不起作用。我做错了什么?

为什么不使用QuerySelectorAll(“”);这要容易得多。您可以使用它来检索td元素的内部文本,并使用循环将它们存储在数组中。一旦您有了td,您就可以使用jQueryAjax将其发送到一个.php文件,以按照您的意愿进行处理

例如:

var tdArr = [];

var tdContent = document.querySelectorAll('table tr td');

for ( let i = 0; i  < tdContent.length; i++){
    tdArr.push(tdContent[i].textContent);
}
var-tdArr=[];
var tdContent=document.querySelectorAll('table tr td');
for(设i=0;i
相关:哦。。。“因为HTML不能被正则表达式解析。”我不知道,将对此进行调查。谢谢。没问题,我希望这会有帮助
var tdArr = [];

var tdContent = document.querySelectorAll('table tr td');

for ( let i = 0; i  < tdContent.length; i++){
    tdArr.push(tdContent[i].textContent);
}