正则表达式查找以特定字符开头的单词

Vij*_*yan 19 c# regex

我试图找到一个特定字符开头的单词,如:

Lorem ipsum #text Second lorem ipsum.你好吗.没关系.完成.现在#else.

我需要用"#"开头所有单词.所以我的预期结果是#text,#are,#else

有任何想法吗?

Mar*_*ers 36

搜索:

  • 那些不是单词字符的东西
  • #
  • 一些单词字符

试试这个:

/(?<!\w)#\w+/
Run Code Online (Sandbox Code Playgroud)

或者在C#中它看起来像这样:

string s = "Lorem ipsum #text Second lorem ipsum. How #are You. It's ok. Done. Something #else now.";
foreach (Match match in Regex.Matches(s, @"(?<!\w)#\w+"))
{
    Console.WriteLine(match.Value);
}
Run Code Online (Sandbox Code Playgroud)

输出:

#text
#are
#else
Run Code Online (Sandbox Code Playgroud)


Pet*_*ter 12

试试这个 #(\S+)\s?

  • 这将返回"#word"而不是"#word".\ s?没有必要 (2认同)