この文字列から取得100
したいexample
?connect:100/username:example/
Google で検索しましたが、ソリューションから有用な正規表現パターンが見つかりません
助けてください
この文字列から取得100
したいexample
?connect:100/username:example/
Google で検索しましたが、ソリューションから有用な正規表現パターンが見つかりません
助けてください
try {
Regex RegexObj = new Regex(":(?<Number>\\d+)/.+?:(?<Text>\\w+)/");
Match MatchResults = RegexObj.Match(SubjectString);
while (MatchResults.Success) {
for (int i = 1; i < MatchResults.Groups.Count; i++) {
Group GroupObj = MatchResults.Groups[i];
if (GroupObj.Success) {
}
}
MatchResults = MatchResults.NextMatch();
}
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
これは正規表現です:
\?connect:([0-9]+)/username:([^/]*)/
これには正規表現を使用する必要はありません。Linq を使用してください。
var url = "?connect:100/username:example/";
var data = url.Substring(1, url.Length-2).Split('/')
.Select(x => x.Split(':'))
.ToDictionary(x => x[0], x => x[1]);
Console.WriteLine(data["connect"]); // 100
Console.WriteLine(data["username"]); // example
SubString(1, url.Length-2)
先頭?
と末尾の/
.