2012-04-04 15 views
18

このタイプの正規表現には正しい言い回しが何であるかはっきりしていませんが、基本的には "/"で始まる文字列に一致しますが例として、「bob /」が続かない。Perl Regex "Not"(否定先読み)

は、したがって、これらが一致します

/tom/ 
/tim/ 
/steve 

しかし、これらのでしょうではない

tom 
tim 
/bob/ 

を私は答えはものすごく簡単です確信しているが、私はどこにも「正規表現ではない」の検索難しい時間を過ごしました。良い結果を得たいと思っていることを好きな言葉があると確信していますが、私はそれが何であるか分かりません。

編集:私は、私はあなたが("Extended Patterns" in perlreの下で文書化)否定先読みを使用することができます

+1

何 '/ jimbobについて/ '? '/ bob/apples'はどうですか? – ysth

+0

私の目的のために/ジンボブは大丈夫でしたが、/ボブ/リンゴは – GoldenNewby

答えて

19

探していたもののために正しい名前を示すために、タイトルを変更しました:

/^\/(?!bob\/)/ 
+0

ではありませんでした。おそらく/^\ /(?!ボブ\ /)/、しかし、あなたはそれの要点を持っています。ありがとう! – GoldenNewby

+0

@GoldenNewby Woopsは、質問のその部分を見落としました –

+2

デフォルトの正規表現フラグは今や機能であり、 '^'は '\ A'としてよく書かれています。代替区切り文字と '/ x'を使うと、' m | \ A /(?!bob /)| x'。 –

関連する問題