c#regex格式

时间:2015-07-01 10:03:35

标签: c# regex

我需要正则表达式格式:

  1. 只有字母

  2. 没有html标签

  3. 没有这些特殊字符()

  4. 请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以将条件合并为1 Regex.Replace,因为您只需删除所有匹配项:

SearchBy = Regex.Replace(SearchBy, @"<[^>]+>|[0-9()-]", string.Empty);

或者,因为您只想在字符串中保留字母,所以可以使用

SearchBy = Regex.Replace(SearchBy, @"<[^>]+>|\P{L}", string.Empty);

正则表达式包含2个与|交替运算符结合的备选方案:

  • <[^>]+> - 以<开头的子字符串,然后是>以外的一个或多个字符,然后是>(但是,这可能会删除任何看似标签的内容)但不是标签!)
  • [0-9()-] - 匹配0到9之间所有数字的字符类,以及文字()-(当-结束时对于一个角色类,我们不必逃避它。)

\P{L}匹配任何非字母。