忽略正则表达式中的特定字符

7 regex

我有这种方法来检查字符串是否包含特殊字符,但我不希望它检查特定字符,例如 (+-) 我将如何执行此操作?

public boolean containsSpecialCharacters(String teamName) {     
    Pattern p = Pattern.compile("[^a-z0-9 ]", Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher(teamName);

    boolean b = m.find();
    if (b) {
       return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

Ped*_*ito 6

你可以试试这个:

[^\w +-]
Run Code Online (Sandbox Code Playgroud)

正则表达式解释

[^\w +-]

Match a single character NOT present in the list below «[^\w +-]»
   A word character (letters, digits, and underscores) «\w»
   The character “ ” « »
   The character “+” «+»
   The character “-” «-»
Run Code Online (Sandbox Code Playgroud)

  • `\w` 还包括 `_`,所以你在这里也否定了它。 (2认同)