-2

この文字列から取得100したいexample

?connect:100/username:example/

Google で検索しましたが、ソリューションから有用な正規表現パターンが見つかりません

助けてください

4

3 に答える 3

1
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
}
于 2012-07-04T12:42:10.380 に答える
0

これは正規表現です:

\?connect:([0-9]+)/username:([^/]*)/
于 2012-07-04T12:44:26.150 に答える
0

これには正規表現を使用する必要はありません。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)先頭?と末尾の/.

于 2012-07-04T12:58:46.893 に答える