簡體   English   中英

如何匹配 .NET 中的正則表達式“最短匹配”

[英]How to Match with Regex "shortest match" in .NET

我正面臨正則表達式的問題...我必須匹配 sharepoint URL..我需要匹配“最短”

就像是:

http://aaaaaa/sites/aaaa/aaaaaa/

m = Regex.Match(URL, ".+/sites/.+/");

m.Value 等於整個字符串...

我怎樣才能讓它匹配

http://aaaaaaa/sites/aaaa/

沒有別的??

非常感謝你!

.+是貪婪的,所以它會在停止之前匹配盡可能多的字符。 將其更改為.+? 比賽將盡快結束:

m = Regex.Match(URL, ".+/sites/.+?/");

嘗試使正則表達式匹配除/而不是所有內容之外的所有內容。 這是通過使用字符 class 原子[^]的非形式來完成的。

m = Regex.Match(URL, ".+/sites/[^/]+/");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM