2016-03-17 56 views
0
string1 = 'http://localhost/dir/file.js?ver=3.5.4' 
string2 = 'OneWord 2.5.4' 

提取/解析值我要提取這些字符串,如最終值:我想從字符串

extracted1 = '3.5.4' 
extracted2 = '2.5.4' 

注意的是,這些(版本)數值我想提取是不一樣的每次。

回答

0
import re 

semver = r'\d+\.\d+\.\d+' 

def get_semver(string): 
    return re.search(semver, string).group(0) 

用法:

>>> get_semver(string1) 
'3.5.4' 
>>> get_semver(string2) 
'2.5.4' 

如果你只想在字符串的結尾匹配他們,加$正則表達式。

+0

也許增加'$',以確保它只匹配在最後? – tdelaney

+0

它的工作原理!謝謝@ L3viathan – hc0re

0

如果您的字符串將保持不變,意味着URL,如果vesion數量不同,您可以使用下面的代碼不重要。 其實你需要更清楚你想要什麼:

string1 = 'http://localhost/dir/file.js?ver=3.5.4' 
string2 = 'OneWord 2.5.4' 
extracted1 = string1.split("=")[1] 
extracted2= string2.split(" ")[1]