我在.NET中有一个函数,可以验证字符串中的所有字符都是ABC。如果该字符串包含ABC以外的任何其他字符,则返回false
返回真实的示例:“ ABAABCCCABAB”
返回错误的示例:“ AAGSRJJ#%#°AQYJ”
我需要将其传递给Java,但我不知道该怎么做。 有人可以帮我吗?
for (int i = 0; i < ADN.dna.Length; i++) //recorrer las filas
{
if (Regex.IsMatch(ADN.dna[i], @"[^ABC]", RegexOptions.IgnoreCase) == true)
{
return false;
}
}
答案 0 :(得分:0)
您可以使用java.util.regex.Pattern
类。
Pattern pattern = Pattern.compile("[ABC]+", Pattern.CASE_INSENSITIVE);
for (int i = 0; i < ADN.dna.length; i++) {
if (!pattern.matcher(ADN.dna[i]).matches()) {
return false;
}
}
正则表达式模式[ABC]+
的解释:
输入必须是集合ABC
中一个或多个字符(用+表示)。
这是您的测试用例:
public static void main(String[] args) {
Pattern pattern = Pattern.compile("[ABC]+", Pattern.CASE_INSENSITIVE);
System.out.println(pattern.matcher("ABAABCCCABAB").matches());
System.out.println(pattern.matcher("AAGSRJJ #% # ° AQYJ").matches());
}
结果:
true
false