我知道这可以通过多种方式完成,但我很好奇正则表达式将挑选出所有不包含特定子字符串的字符串,比如GDA 字符串,如GADSA,GDSARTCC,THGDAERY。
答案 0 :(得分:2)
您不需要正则表达式。只需使用string.contains("GDA")
查看字符串是否包含特定的子字符串。如果没有,它将返回false
。
答案 1 :(得分:2)
你可以做负面的解释
"^((?!GAD).)*$"
答案 2 :(得分:1)
如果您的输入是一个长字符串,那么您必须决定如何定义子字符串。如果它被空格分隔,那么:
String[] split = mylongstr.split(" ");
for (String s : split) {
if (!s.contains("GDA")) {
// do whatever
}
}
答案 3 :(得分:0)
String regex = ".*GDA.*";
List<String> testStrings = populateStrings();
for (String s : testStrings)
{
if (!s.matches(regex))
System.out.println("String " + s + " does not match " + regex);
}
答案 4 :(得分:0)
试一试:
java.util.regex.Pattern p = java.util.regex.Pattern.compile("(?!\\w*GDA\\w*)\\b\\w+\\b");
java.util.regex.Matcher m = p.matcher("GADSA, GDSARTCC, , THGDAERY");
while (m.find()) {
System.out.println("Found: " + m.group());
}