获得固定字符串匹配

时间:2013-10-18 03:15:48

标签: php regex

我有以下固定字符串。

edbe801bf92fe7b770f72df2d722df0a

我需要在第四个2df2d之后和最后7

之前获得7部分

我尝试与

匹配
[a-z0-9]*7[a-z0-9]*77[a-z0-9]*7(.*)

但是它得到了错误的字符串部分

感谢。

1 个答案:

答案 0 :(得分:1)

实际上,如果在捕获组之后添加另一个7,您的模式将匹配。

.... (.*)7

但为了便于阅读并让您头疼,我会简化这一点。

(?:[^7]*7){4}([^7]*)

我在这里使用非捕获组?:将表达式分组为多个匹配,但不将其保存为字符串的匹配/捕获部分。

正则表达式解释:

(?:        group, but do not capture (4 times):
 [^7]*     any character except: '7' (0 or more times)
   7       match '7'
){4}       end of grouping
(          group and capture to \1:
 [^7]*     any character except: '7' (0 or more times)
)          end of \1

请参阅live demo