[英]Using regex to match any character except =
我正在尝试编写一个字符串验证来匹配除=以外的任何字符(常规,数字和特殊)。
这是我写的 -
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");
但是,它与输入字符串“2009-09 / 09 12:23:12.5 =”匹配模式。
如何从模式字符串中排除=(或任何其他字符)?
如果唯一禁止的字符是等号,那么[^=]*
类的东西应该有用。
[^...]
是一个否定的字符类; 它匹配单个字符,除了方括号中的列表之外的任何字符。 *
重复表达式零次或多次。
首先,您不需要正则表达式。 只需致电contains
:
if(str.contains("="))
System.out.println("does not");
else
System.out.println("matches");
你正在寻找正确的正则表达式
String patternString = "[^=]*";
如果您只想检查是否出现“=”,为什么不使用String indexOf()方法?
if str.indexOf('=') //...
如果您的目标是在字符串中没有任何=字符,请尝试以下操作
String patternString = "[^=]*";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.