2016-08-30 9 views
2

を使用してPythonでパターンを見つける:私は正規表現構築しようとしている再(レゲエ)

mystring = /some/path/with/%variable%/%inside%/%it%/ 
re.findall("[^\s%]+", allocine_spec[key]) 

そして、これは次のように返します。

['/some/path/', 'variable', '/', 'inside', '/', 'it'] 

をしかし、私は唯一の希望:

['variable', 'inside', 'it'] 

これは可能ですか?あなたがはるかに簡単な正規表現必要

答えて

5

%([^%]+)% 

regex demo

これは、グループ1に%以外の文字を1+キャプチャし、末尾%にマッチします、その後、%と一致します参照してください。文字列に%の間に単語文字しか含まれていない場合は、[^%]+\w+に置き換えることができます。

キャプチャグループがパターンで定義されている場合は、re.findallは取得された部分文字列のみを返します。

Python demo

import re 
mystring = "/some/path/with/%variable%/%inside%/%it%/" 
print(re.findall("%([^%]+)%", mystring)) 
# => ['variable', 'inside', 'it'] 
関連する問題