C# 如何使用正则表达式提取skype帐户

C# 如何使用正则表达式提取skype帐户,c#,regex,C#,Regex,我需要从字符串数组中提取skype帐户。 它们出现在字符串中单词“skype:”之后。所以我需要使用正则表达式来提取它们。 看起来我需要这样的东西:string regexpatern=@“skype:\s*(\w*)”; 但是,当这个正则表达式与帐户相遇时。(点)与P.Revenko.Sokolniki一样,它只返回第一个字母(本例中为P),并且必须是P.Revenko.Sokolniki。 任何帮助都将不胜感激。编辑:使用此: skype:\s*(?<account>[\w.]*

我需要从字符串数组中提取skype帐户。 它们出现在字符串中单词“skype:”之后。所以我需要使用正则表达式来提取它们。 看起来我需要这样的东西:string regexpatern=@“skype:\s*(\w*)”; 但是,当这个正则表达式与帐户相遇时。(点)与P.Revenko.Sokolniki一样,它只返回第一个字母(本例中为P),并且必须是P.Revenko.Sokolniki。
任何帮助都将不胜感激。

编辑:使用此:

skype:\s*(?<account>[\w.]*)
skype:\s*(?[\w.]*) 并按如下方式获取名为account的组:

String skypeAccount = Regex.Match(inputString, @"skype:\s*(?<account>(\w|\.)*)").Groups["account"].Value;
String skypeAccount=Regex.Match(inputString,@“skype:\s*(?(\w|\)*))))。组[“帐户]。值;

编辑:使用以下命令:

skype:\s*(?<account>[\w.]*)
skype:\s*(?[\w.]*) 并按如下方式获取名为account的组:

String skypeAccount = Regex.Match(inputString, @"skype:\s*(?<account>(\w|\.)*)").Groups["account"].Value;
String skypeAccount=Regex.Match(inputString,@“skype:\s*(?(\w|\)*))))。组[“帐户]。值;

您需要放置\w\。放在方括号内

string c = "skype: P.Jon.Doe";

Regex ex = new Regex(@"^skype:\s*[\w\.]*");

if (ex.IsMatch(c))
{
    Console.WriteLine(ex.Match(c).Value);
}

您需要放置\w\。放在方括号内

string c = "skype: P.Jon.Doe";

Regex ex = new Regex(@"^skype:\s*[\w\.]*");

if (ex.IsMatch(c))
{
    Console.WriteLine(ex.Match(c).Value);
}

如果它们都由分号分隔,则不需要正则表达式

但是,使用Regex的解决方案如下:

string pattern = "(?<=skype:\s*)(?<account>[^\s]+)";

这也很简单。

如果它们都用分号分隔,就不需要正则表达式

但是,使用Regex的解决方案如下:

string pattern = "(?<=skype:\s*)(?<account>[^\s]+)";

这也很简单。

为什么不能从字符串中删除前6个字符呢?skype:p.Revenko.Sokolniki;skype:P.Revenko.Sokolniki;skype:PRevenko.Sokolniki;skype:prevenkosokolnikiwiwhy你不能从字符串中删除前6个字符吗?skype:P.Revenko.Sokolniki;skype:P.Revenko.Sokolniki;skype:PRevenko.Sokolniki;skype:PRevenkoSokolnikiThis字符串regexpatern=@“skype:\s*(\w\)*”;返回第一个字符和点状P。您也可以使用
[\w.]
而不是
(\w\\)
。此字符串regexpatern=@“skype:\s*(\w\)*”;返回第一个字符和点状P。您也可以使用
[\w.]
\S
来代替
[^\S]
@Joey是的,但是在向某人解释时它不那么直观。Roman,那么正则表达式应该可以很好地工作。
\S
将是
[^\S]
@Joey的简写,是的,但是在向某人解释时它不那么直观。罗曼,那么正则表达式应该很好用。