使用正则表达式从字符串中提取带有标签的单词

6

好的,正如标题所说...我想从字符串中获取带有标签的某个单词。

例如: 这是一个包含#contains标签的字符串!

我想把单词contains从字符串中挑选出来作为一个新的字符串。

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


3
请分享一下你尝试过什么,通常指出一个错误比从头开始研究解决方案更快/更容易。或者问题是你不知道从哪里开始? - Wiseguy
2个回答

12

您希望此图案有多美好?理论上只需要:

"(?<=#)\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);
}

谢谢,你忘记转义反斜杠了,我已经修复了。 - test
你忘记加分号了! - bastianwegge

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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接