2016-04-18 18 views
1

rootroot/moreと一致するようにしていますが、rootsまたはroot/ではありません。正規表現スラッシュキャプチャPython

私はre.match('/root?(/.*)',line)を試しましたが、それはroot/であり、rootではありませんでした。

+0

変更 '/ルート(/.*)' '/ rootに(/.+)' –

答えて

2

あなたはこのアンカー正規表現を使用することができます。

^root(/.+)?$ 

これはroot/後、少なくとも1文字を強制しますか(/.+)?は、後の部分はオプションになりので、それだけでルートと一致します。

テスト:??

>>> print re.match('^root(/.+)?$', 'root') 
<_sre.SRE_Match object at 0x1014bdcd8> 

>>> print re.match('^root(/.+)?$', 'root/') 
None 

>>> print re.match('^root(/.+)?$', 'root/more') 
<_sre.SRE_Match object at 0x1014bdcd8> 

>>> print re.match('^root(/.+)?$', 'roots') 
None