2016-09-06 11 views
0

を修正するためにどのように私はそれが正規表現は失格 - この

/foor/bar/xxxxxx/ 
       |__optional but nothing after this 

が文字列「/」が、charactで終わる可能性が許すべきか、この正規表現は基本的

/foo/bar/([^ ]*)/{0,1}(?!.) 

を使用していますそれ以降は何も許されるべきではない。 は、これを実現するためには、私は

/foo/bar/([^ ]*)/{0,1}(?!.) 
      A  B C 
A is ([^ ]*) means allow anything except a space 
B is /{0,1} which basically means that the character/should be optional 
C is (?!.) which basically is a negative lookahead that no character should be next 

をした私は、この正しいのでしょうか?私は文字列を使用する場合

/foo/bar/somestuff/Whatever 

正規表現を修飾する場合。私はそれがWhateverのために資格を持たないことを望む。

/foo/bar/([^ /]*)/{0,1}(?!.) 

あなたはまた?を使用しての代わりに、{0,1}と入力の終わりにマッチする($)の代わりにより、これをさらに簡素化することができます:私はあなたが(A)で/を除外する必要が間違っ

答えて

1

何をやっています負のルックアヘッド:

/foo/bar/([^ /]*)/?$ 
+0

教えてください。呼ばれ、それは何ですか? –

+0

'?'は疑問符です。それは '?0'と同じ意味を持ちますが、 '{' m '、' 'n'}'の構文です。 –