$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);
我做了什么?
答案 0 :(得分:0)
试试这个:
preg_match("/(.*?) Hello ([AB]) (?|(0)|(1) (\*\*\*))/i",$string,$match);
(?|...|...)
结构允许交替中的子模式彼此独立编号。否则,您最终会将匹配3
设为0
或不匹配,并将4/5
设为1/***
或不匹配。结构将它们组合在一起,以使匹配3
为0
或1
,并匹配4
为空或***