代码之家  ›  专栏  ›  技术社区  ›  Scott Chamberlain

正则表达式模式失败

  •  1
  • Scott Chamberlain  · 技术社区  · 15 年前

    我试图去掉字符串中所有不是字母数字或空格的东西,所以我创建了regex

    private static Regex _NonAlphaChars = new Regex("[^[A-Za-z0-9 ]]", RegexOptions.Compiled);
    

    但是当我打电话的时候 _NonAlphaChars.Replace("Scott,", ""); "Scott,"

    我做错了什么,它是不匹配的 , ?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Mark Rushakoff    15 年前

    你用双括号做了些有趣的事。把它改成

    [^A-Za-z0-9 ]
    

    The Regex Coach 将正则表达式解释为:

    正则表达式是由表达式“[[^a-Za-z0-9]”和字符“]”组成的序列。

    正则表达式是一个字符类,表示除字符“a”到字符“Z”的字符范围、字符“a”到字符“Z”的字符范围、字符“0”到字符“9”的字符范围以及字符“”以外的所有字符。

        2
  •  5
  •   LukeH    15 年前
    private static Regex _NonAlphaChars =
        new Regex("[^A-Za-z0-9 ]", RegexOptions.Compiled);
    
        3
  •  0
  •   Mike    15 年前

    试试这个

    [^A-Za-z0-9\s]
    

    \W型