需要帮助w / Regex表达 - 匹配任何地方

时间:2015-12-23 15:38:23

标签: c# .net regex

我需要一个正则表达式来匹配语句中的以下单词之一(县或县)任何地方。另外,我希望在语句中的任何位置匹配括号中包含的整个短语。 在下面的例子中,我希望匹配'COUNTY'和''(以前的RM Haldimand-Norfolk)'。这两个令牌出现在声明中的位置并不重要。

例如:

1)NORFOLK COUNTY(前身为RM Haldimand-Norfolk)

2)COUNTY NORFOLK(前身为RM Haldimand-Norfolk)

到目前为止我的表达:

{{1}}

这将匹配#1,但不匹配#2。我不知道如何在我的正则表达式中表达'(。*)'应该匹配字符串中的任何地方,除了'county'或'county of'的单词匹配。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

String input = "NORFOLK COUNTY (formerly RM Haldimand-Norfolk)";

String output = Regex.Replace(input, @"(county of|county)|(\(.*?\))", "", 
    RegexOptions.IgnoreCase);

Console.WriteLine( output );

snippet here.

解释

(county of|county)     # one of the options
  |                    # OR
(\(.*?\))              # anything between brackects

希望它有所帮助。