2013-03-05 19 views
1

正如標題所述,我開始考慮如何匹配,例如應用於字符串的正則表達式中的2個不同的子模式,條件是如果內容只有數字它將被分配子模式名稱<id>,否則(字母或字母+數字)分配爲<action>。上下文是我寫出來的一個PHP路由器類。PHP PCRE - 根據上下文匹配不同的子模式名稱

此使用條件的一部分,以匹配含動作詞:

(?P<action>[\w]+)

任何想法?

+0

提供有關輸入字符串怎麼能像 – hek2mgl 2013-03-05 20:00:02

+2

因此,更多的信息,'(ΔP [\ d] +)|(P [\ w] +)'? – Wrikken 2013-03-05 20:04:18

+0

@Wrikken是的,我會嘗試(我認爲它需要魔法) – yoda 2013-03-05 21:33:02

回答

2

簡單地讓2子模式&或將它們(|):

(?P<id>[\d]+)|(?P<action>[\w]+)