使用正则表达式从字符串中抓取哈希标记的单词

时间:2012-12-13 22:30:10

标签: c# regex

好吧,正如标题所说......我想抓住一个字符串中标记的某个单词。

实施例: 这是 #contains 标签的字符串!

我想从字符串中选择单词 contains 作为新字符串。

我可以想象这是一个非常简单的问题,但我真的无法让它发挥作用。

2 个答案:

答案 0 :(得分:11)

您希望这种模式有多好?理论上只是:

"(?<=#)\w+"

会这样做。

编辑,以获得更多答案的完整性:

string text = "This is a string that #contains a hashtag!";
var regex = new Regex(@"(?<=#)\w+");
var matches = regex.Matches(text);

foreach(Match m in matches) {
    Console.WriteLine(m.Value);
}

答案 1 :(得分:3)

string input = "this is a string that #contains a hashtag!";
var tags = Regex.Matches(input, @"#(\w+)").Cast<Match>()
                .Select(m => m.Groups[1].Value)
                .ToList();