Я хочу, чтобы получить 100
и example
из этой строкиC# и регулярное выражение
?connect:100/username:example/
я искал в гугле, но не может найти некоторые полезные регулярные выражения формируют мое решение
Пожалуйста, помогите
Я хочу, чтобы получить 100
и example
из этой строкиC# и регулярное выражение
?connect:100/username:example/
я искал в гугле, но не может найти некоторые полезные регулярные выражения формируют мое решение
Пожалуйста, помогите
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)
вызов, если вы получили строку обратно без стартового ?
и задней /
.
Вы можете разделить на '/' сначала, а затем на::. –