2013-10-18 59 views
1

我有以下固定字符串。獲得固定字符串的匹配

edbe801bf92fe7b770f72df2d722df0a 

我需要第四7後得到2df2d部分和之前的最後一個7

我試着用

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

匹配,但其獲取字符串的錯誤部分

謝謝。

回答

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

+0

對不起我不是很好的正則表達式用但工作 –

+0

很高興我能幫忙。 – hwnd