$string = "anyWord Hello A 1 *** .";
preg_match('/(.*?) Hello (A|B) (1|0) (if(g2 == B)then|else).*/i',$string,$match);
// g1 g2 g3 -->|
print_r($match);
我該怎麼辦?正則表達式我怎麼寫這個模式?
$string = "anyWord Hello A 1 *** .";
preg_match('/(.*?) Hello (A|B) (1|0) (if(g2 == B)then|else).*/i',$string,$match);
// g1 g2 g3 -->|
print_r($match);
我該怎麼辦?正則表達式我怎麼寫這個模式?
嘗試這種情況:
preg_match("/(.*?) Hello ([AB]) (?|(0)|(1) (\*\*\*))/i",$string,$match);
的(?|...|...)
結構允許在交替的子模式將被編號爲彼此獨立。否則,你最終會與比賽3
或者是0
或者什麼也不是,並且匹配4/5
是1/***
或者什麼都不是。該結構將它們結合在一起,拿到賽3
是0
或1
,並匹配4
是什麼或***
謝謝你,但是這沒有解決我的問題! –
...那你的問題是什麼?我的答案以什麼方式無法解決? –
整體我想在我的情況下使用一個組的值 –
什麼是'(?(3))'?你認爲它在做什麼? –
我認爲得到組3的價值,並在條件檢查此值 –
據我所知,這不是任何*正則表達式的特徵,我不知道你可能從哪裏得到這個概念... –