在正则表达式中查找单词以特定单词开头

时间:2016-01-21 18:42:31

标签: regex c#-4.0

我正在尝试使用New关键字找到单词。以下是我的代码。

        string contents = " holla holla testing is for NewFinancial History:\"xyz\"  dsd  NewFinancial History:\"abc\"  New Investment History:\"abc\"  dsds  ";

        var keys = Regex.Matches(contents, @"New(.+?):", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace).OfType<Match>().Select(m => m.Groups[0].Value.Trim().Replace(":", "")).Distinct().ToArray();

在上面的代码中,它搜索了NewFinancial History:\&#34; xyz \&#34;和新的投资历史:\&#34; abc \&#34;。 它应该只找到NewFinancial History:\&#34; xyz \&#34;不是新的投资历史:\&#34; abc \&#34;。 我想在New关键字后找到没有空格的单词。上面的代码搜索有空格和无空格。

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

\bNew(\S.+?):

匹配New后跟非空格

RegEx Demo

否则:

\bNew\B(.+?):

匹配New后跟非字边界