1

我想要一个匹配这样的正则表达式:

&align:%HORIZONTAL%|%VERTICAL%

%HORIZONTAL% 可能是“左”或“右”或“中心”

%VERTICAL% 可能是“顶部”或“底部”或“中心”

我试过这样的事情:

&align:(left|right|center)\|(top|bottom|center)

我得到了这个:

Array(
[0] => &align:left|center
[1] => left
[2] => top
)

我必须改变什么才能只获得一场比赛?[1] 和 [2] 一定不可能。

4

1 回答 1

1

括号有两个用途——分组和捕获。要在不捕获匹配项的情况下获得所需的分组,请使用?:

&align:(?:left|right|center)\|(?:top|bottom|center)

手册参考:http ://uk3.php.net/manual/en/regexp.reference.subpatterns.php

于 2012-05-09T14:46:09.797 回答