我正在尝试编写一个字符串验证来匹配除=以外的任何字符(常规,数字和特殊).
这是我写的 -
String patternString = "[[^=][\\w\\s\\W]]*";
Pattern p = Pattern.compile(patternString);
Matcher m = p.matcher(str);
if(m.matches())
System.out.println("matches");
else
System.out.println("does not");
Run Code Online (Sandbox Code Playgroud)
但是,它与输入字符串"2009-09/09 12:23:12.5 ="匹配模式.
如何从模式字符串中排除=(或任何其他字符)?
tri*_*eee 42
如果唯一被禁止的字符是等号,那么[^=]*
应该有效.
[^...]
是一个否定的角色类; 它匹配单个字符,除了方括号中的列表之外的任何字符.*
重复表达零次或多次.
首先,您不需要正则表达式.只需致电contains
:
if(str.contains("="))
System.out.println("does not");
else
System.out.println("matches");
Run Code Online (Sandbox Code Playgroud)
你正在寻找正确的正则表达式
String patternString = "[^=]*";
Run Code Online (Sandbox Code Playgroud)
如果您的目标是在字符串中不包含任何 = 字符,请尝试以下操作
String patternString = "[^=]*";
Run Code Online (Sandbox Code Playgroud)