我有以下固定字符串。
edbe801bf92fe7b770f72df2d722df0a
我需要得到2df2d
第四个之后7
和最后一个之前的部分7
我尝试匹配
[a-z0-9]*7[a-z0-9]*77[a-z0-9]*7(.*)
但它得到了字符串的错误部分
谢谢。
实际上,如果您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
观看现场演示