我有一个必须匹配的字符串@“^ [\ w * \ $] [\ w \ s - \ $] *((\ d {1,})){0,1} $”。 如果它与此正则表达式不匹配,我希望从字符串中删除不匹配的字符。我该如何设置呢?
答案 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")
这个想法是将每个想要的字符块与禁止字符列表交错,并只保留你想要的字符。正则表达式的结尾有点奇怪,所以我简化了它。