正则表达式 - \ |不行

时间:2014-04-25 16:50:34

标签: php regex

我的正则表达式有问题。我有这段代码:

<div class="textPremium">Premium Access 25.04.2014 | 20:59<br>Server: ON | Bandwidth: 200MB<br /></div>

我想要匹配:

  

&#34; 2014年4月25日&#34; (日期)

     

&#34; 20:59&#34; (时间)

     

&#34; 200&#34; (带宽)

这是我的regular expression

 <div class=\"textPremium\">Premium Access (.*) \| (.*)<br>Server: ON | Bandwidth: (.*)MB<br><\/div>

我匹配了日期和时间,但我无法匹配带宽。在\之前添加|并不起作用。

1 个答案:

答案 0 :(得分:1)

试试这个updated expression

<div class="textPremium">Premium Access (.*) \| (.*)<br\s*/?>Server: ON \| Bandwidth: (.*)MB<br\s*/?></div>

正如您在评论中看到的那样,当换行符格式为<br>时,您尝试匹配<br />。 HTML不是常规语言,您should not use regex尝试匹配它。

但是,我使用<br>改进了您的表达式,以匹配<br /><br\s*/?>。这将允许0个以上的空白字符,后跟可选的/。另请注意,我已将分隔符从/更改为~,因此我们无需永远逃离/