PHP Regex匹配,匹配所有以数字开头,后跟句点的行

MB34

我曾使用simple_html_dom来解析一些HTML,并在一个名为的数组中包含以下HTML表$pre

现在,如何使用PHP正则表达式仅获取与以下结果匹配的行?

<table>
    <tr>
        <td>
            <pre>1.   APEAL/890/2010     HUSSAIN ISMAIL SATWILKAR        SHRI C.K. PENDSE</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>     [Criminal]                                         MS.ROHINI DANDEKAR ADV.AP</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                        V/S THE STATE OF MAHARASH       PTD AS PER CTS ORD 7/9/17</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                        TRA                             P.P.FOR  P. P</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>        REMARK : (By Accused against Conviction) Note: (1) Matter is Ready for final</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 hearing. (2) Accd. is in jail. (3) R & P with PB received. (4)</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 Muddemal article are to be called for. (5) Report received from</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 Nashik Central Prison stated therein that "Orig. accd. death dated</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 20/11/2015 (Report kept at flag "A") . ....... Court (DB) for final</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 hearing.</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>2.   APEAL/966/2011     ABDUL MALIK SHAIKH              SHRI S. R. MITHARE</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>     [Criminal]</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                        V/S THE STATE OF MAHARASH</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                        TRA</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>        REMARK : (By Accused Against Conviction) Note:- (1) Matter is ready for</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 Final Hearing. (2) Original Accused is in Jail. (3) R & P received</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 with PaperBooks. (4) Muddemal Articles are to be called for. (5)</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 Report received from Kolhapur central Prison stated therein that</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 "Orig. Accused expired on 19/04/2015 (Report kept at flag "A")</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>                 - Court D.B. for Final Hearing.</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre></pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>3.   APEAL/486/2012     AJAY SITARAM BHARATI            MISS. TANU KHATTRI</pre>
        </td>
    </tr>
    <tr>
        <td>
            <pre>     [Criminal]</pre>
        </td>
    </tr>
</table>

使用Regex后的结果:

<pre>1.   APEAL/890/2010     HUSSAIN ISMAIL SATWILKAR        SHRI C.K. PENDSE</pre>
<pre>2.   APEAL/966/2011     ABDUL MALIK SHAIKH              SHRI S. R. MITHARE</pre>
<pre>3.   APEAL/486/2012     AJAY SITARAM BHARATI            MISS. TANU KHATTRI</pre>

使用此代码:preg_match('^\<pre\>\d2*\./gm', $pre[$i])返回:preg_match(): No ending delimiter '^' found

这看起来像要使用的正确正则表达式,来自regex101:

^ asserts position at start of the string
\< matches the character < literally (case sensitive)
pre matches the characters pre literally (case sensitive)
\> matches the character > literally (case sensitive)
\d matches a digit (equal to [0-9])
    2* matches the character 2 literally (case sensitive)
    * Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
\. matches the character . literally (case sensitive)

Global pattern flags
g modifier: global. All matches (don't return after first match)
理查德·帕纳比·金

phppreg_*函数需要定界符-模式中未使用的符号。

另外,您的模式将无法正确匹配。原因是^与该行的开头相匹配。而且pre标记某些标签中没有开始。

此正则表达式将匹配pre同一行上的任何标签,标签以至少一个数字(例如1、16、256等)开头和一个句点。

preg_match('#(<pre>\d+\..*</pre>)#', $pre[$1], $matches);
vaR_dump($matches);

在此示例中,我用作#分隔符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

php regex匹配数字后的单个字母

PHP Regex许多匹配项

用preg匹配标签中的所有php

PHP Regex匹配语句

PHP:提取数字并用函数替换字符串中的所有匹配项

PHP MySQL选择所有匹配的行并回显另一个表行

匹配char的Python RegEx,后跟/以相同的char开头,但大写/小写

RegEx模式不起作用:匹配PHP域名的最后一部分之后的所有内容

如何在PHP中获取所有带有匹配文本的行

PHP regex网址匹配

显示所有使用PHP在XML中匹配的项目

php匹配给定的数字

PHP Regex禁止以〜$开头的行

PHP Regex:匹配“ url()”的模式

查找PHP中HTML标记的所有匹配项

PHP Regex,捕获重复匹配

PHP Regex-去除所有非数字和小数

PHP Regex不匹配

mySQLi / PHP从所有匹配的行中选择具有最高索引/ ID的行

php regex匹配最后一个斜杠之前的所有内容(末尾斜杠除外)

PHP / MySQL:显示列中匹配特定值的所有行

RegEx - 匹配除“单个大写字母”前面的句点之外的所有句点

如何匹配除数字后跟空格和仅数字后跟空格之外的所有内容?

php regex 匹配 URL 中的确切数字 10

正则表达式 (PHP) 匹配以字符串开头或前面有空格+数字+/+空格的所有内容

正则表达式 - PHP - 如果开头后跟某个路径或没有其他路径,则匹配多级 URL 路径

RegEx - 匹配具有不同开头的数字

RegEx:匹配所有带减号的数字

PHP Regex 匹配和拆分然後捕獲同一數組中的所有值