簡體   English   中英

RegEx幫助,匹配長字符串,選擇子字符串

[英]RegEx Help, match long string, select substring

我想匹配一個網址,但只想選擇部分網址。 那可能嗎?

IE:網址看起來像這樣:

http://www.domain.com/link/88cbdgb7fwndkedl/

我的正則表達式看起來像這樣:

@"http://www.domain.com/link/([a-zA-Z0-9]+)/"

我希望只返回id,而是抓住整個網址。

有什么建議么?

編輯:使用c#Regex.Matches()

幾乎所有正則表達式解決方案都允許您檢索組。 你會發現你的括號部分在第1組中等着你。

如果您無法打擾群組,那么您可以使用積極的后視:

(?<=http://www.domain.com/link/)[^/]+

但老實說......嘗試使用群組。 這是一個很好的功能。 :-)

在C#中,它是:

Match match = Regex.Match(input, @"http://www.domain.com/link/([a-zA-Z0-9]+)/");

if (match.Success) {
   string key = match.Groups[1].Value;
}
Match match = Regex.Match(input, @"http://www.domain.com/link/([a-zA-Z0-9]+)/")
string key = match.Groups[1].Value;

匹配將是整個網址(正則表達式中指定的內容)

您需要提取相應的組。

就像是:

foreach(Match m in matches){
m.Groups[1];
}

暫無
暫無

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

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