の中で正規表現「最短一致」と一致する方法..私はは、.NET
何かのような「最短」と一致する必要があります。
http://aaaaaa/sites/aaaa/aaaaaa/
m = Regex.Match(URL, ".+/sites/.+/");
m.Valueは、文字列全体に等しい...
は、どのように私はそれが
http://aaaaaaa/sites/aaaa/
と他には何を一致させることができます?
ありがとうございました!
の中で正規表現「最短一致」と一致する方法..私はは、.NET
何かのような「最短」と一致する必要があります。
http://aaaaaa/sites/aaaa/aaaaaa/
m = Regex.Match(URL, ".+/sites/.+/");
m.Valueは、文字列全体に等しい...
は、どのように私はそれが
http://aaaaaaa/sites/aaaa/
と他には何を一致させることができます?
ありがとうございました!
.+
は貪欲ですので、停止する前にできるだけ多くの文字が一致します。 .+?
にそれを変更し、試合はできるだけ早く終了します:
m = Regex.Match(URL, ".+/sites/.+?/");
正規表現を単純にすべてではなく/
以外のものに一致させるようにしてください。これは、文字クラス・アトム[^]
のnot形式を使用して行います。
m = Regex.Match(URL, ".+/sites/[^/]+/");
これはまだあなたが私は 'だと思う、それは怠惰にする必要があり、すべてのものと一致した+ /サイト/ [^ /] + /' – Robbie
@Robbie。?それをテストして、それが動作する – JaredPar
+1あなたが正しいと思う、私はそれが私が最初にテストしたときに私の部分にコピー貼りエラーがあったと思う(そして明らかにブートの理解の欠如) – Robbie