我的正则表达式有什么问题(简单)?

Jus*_*tin 1 c# regex

我正在尝试制作一个正则表达式,它匹配所有出现在一行开头并以#开头的单词.

例如:

#region #like
#hey
Run Code Online (Sandbox Code Playgroud)

它会匹配#region和#hey.

这就是我现在所拥有的:

^#\w*
Run Code Online (Sandbox Code Playgroud)

我为发布这个问题而道歉.我确信它有一个非常简单的答案,但我一直无法找到它.我承认我是一个正则表达式的菜鸟.

Dea*_*ing 5

你应该得到什么,取决于你为RegexOptions传递的标志.你需要确保通过RegexOptions.Multiline:

var matches = Regex.Matches(input, @"^#\w*", RegexOptions.Multiline);
Run Code Online (Sandbox Code Playgroud)

请参阅我上面链接的文档:

多线多线模式.更改^和$的含义,使它们分别在任何行的开头和结尾匹配,而不仅仅是整个字符串的开头和结尾.