正则表达式-|不起作用


Regular expressions - | not works

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

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

我想匹配:

"2014年4月25日";(日期)

"20:59";(时间)

"200〃;(带宽)

这是我的正则表达式:

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

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

试试这个更新的表达式:

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

正如你在我的评论中看到的,当换行符被格式化为<br />时,你正试图匹配<br>。HTML不是一种常规语言,您不应该使用regex来尝试匹配它

但是,我通过使用<br's*/?>改进了您的表达式,使其与<br><br />都匹配。这将允许0+个字符的空白后面跟着一个可选的/。还要注意,我将分隔符从/更改为~,这样我们就不需要转义/了。