donglengyuan6826 2012-05-09 10:47
浏览 27

regex&align:%HORIZONTAL%|%VERTICAL%

I would like to have a regex that matches something like this:

&align:%HORIZONTAL%|%VERTICAL%

%HORIZONTAL% may be "left" or "right" or "center"

%VERTICAL% may be "top" or "bottom" or "center"

I tried something like this:

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

And I got this:

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

What would I have to change to get only one match at all? The [1] and [2] must not be possible.

  • 写回答

1条回答 默认 最新

  • dongpeng7744 2012-05-09 14:46
    关注

    Parentheses serve two purposes — grouping and capturing. To get the grouping you want without capturing the matches, use ?::

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

    Manual reference: http://uk3.php.net/manual/en/regexp.reference.subpatterns.php

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据