使用正则表达式过滤掉不良字符

时间:2010-09-03 11:25:24

标签: c# .net asp.net

我有一个必须匹配的字符串@“^ [\ w * \ $] [\ w \ s - \ $] *((\ d {1,})){0,1} $”。 如果它与此正则表达式不匹配,我希望从字符串中删除不匹配的字符。我该如何设置呢?

2 个答案:

答案 0 :(得分:3)

s = Regex.Replace(s, @"^[^[\w*\$][\w\s-\$]*((\d{1,})){0,1}]$", "")

答案 1 :(得分:1)

你可能想要类似的东西(但我不确定实际的问题)。也许你想删除整个正则表达式,如果它不匹配,那不是下面的代码:

s = Regex.Replace(s, @"^[^\w*\$]([\w*\$])[^\w*\$\s-]*([\w\s-\$]*).*$", "$1$2")

这个想法是将每个想要的字符块与禁止字符列表交错,并只保留你想要的字符。正则表达式的结尾有点奇怪,所以我简化了它。