2016-07-27 22 views
0

Location:の正規表現検索を実行しようとしていますが、次のようにその場所を取得しようとしています。正規表現が文字列を検索できません

output = """ 
Build:   BOOT.FAN.1.2-00179-M1234LAB-1 
Location:  \\location\builds678\INTEGRATION\BOOT.FAN.1.2-00179-M1234LAB-1 
Comments:  Build completed, labeled, and marked for retention. 
Status:   Approved [Approved for Testing] 
BuildDate:  07/14/2016 17:54:54 
""" 
match=re.search(r'Location:\s*(\w*)',output) 
print match.group(1) 

予想される出力: -

\\location\builds678\INTEGRATION\BOOT.FAN.1.2-00179-M1234LAB-1 
+0

は「\\」 '一致するように、どのように\ w' – MotKohn

+0

'にマッチしていません。\\ (数字、アルファベット、特殊文字) –

+1

re.search(r'Location:\ s *(。*) '、出力).group(1) – MotKohn

答えて

1

あなたの文字列は、バックスペース(\b)などの特殊文字が含まれているように見えます。おそらく、バックスラッシュをエスケープするか、生の文字列を使用する必要があります。

output = r""" 
Build:   BOOT.FAN.1.2-00179-M1234LAB-1 
Location:  \\location\builds678\INTEGRATION\BOOT.FAN.1.2-00179-M1234LAB-1 
Comments:  Build completed, labeled, and marked for retention. 
Status:   Approved [Approved for Testing] 
BuildDate:  07/14/2016 17:54:54 
""" 

またちょうど\wによって一致されることはありません対象文字列中にいくつかの他の文字があります:あなたの例のように\.-は、 、おそらくもっと。このパターンを試してみてください:

match = re.search(r'Location:\s+([\w\\\.-]+)',output) 
print match.group(1) 

また、あなたは、単に行の終わりまでのすべての文字を一致させることができます:

match = re.search(r'Location:\s+(.+)',output) 
print match.group(1) 
関連する問題