具体到我的问题没有发现任何在搜索中出现的奇数:正则表达式:char型
我有一个字母{A,B,C},在那里我需要制作一组字符串有一个奇怪的a的数量。
有效:ababaccccc baaaccccc驾驶室caabaaac
无效:BAAC caacccb caabbbaac
尝试:
\b[bc]*a{3}[bc]*\b
但这是非常有限的。
具体到我的问题没有发现任何在搜索中出现的奇数:正则表达式:char型
我有一个字母{A,B,C},在那里我需要制作一组字符串有一个奇怪的a的数量。
有效:ababaccccc baaaccccc驾驶室caabaaac
无效:BAAC caacccb caabbbaac
尝试:
\b[bc]*a{3}[bc]*\b
但这是非常有限的。
以下正则表达式should work。
\b[bc]*a(([bc]*a){2})*[bc]*\b
如果您需要在没有正则表达式,即Java解决方案:
String arr[] = {"ababaccccc", "baaaccccc" , "caabaaac", "baac", "caacccb", "caabbbaac"};
for (String string : arr) {
int counter = 0;
for (int i = 0; i < string.length(); i++) {
if (string.charAt(i) == 'a') {
counter++;
}
}
if ((counter & 1) == 0) {
System.out.println(string + " is invalid");
} else {
System.out.println(string + " is valid");
}
}
为什么没有一个布尔变量叫做valid,它开始为false,并在我们遇到字符'a'时改变状态: String arr [] = {“ababaccccc”,“baaaccccc”,“caabaaac”,“baac” “caacccb”,“caabbbaac”}; for(String string:arr){ bool valid = false;对于(int i = 0; i
那岂不是更容易
'\ b'是什么? – CodyBugstein 2013-05-31 18:39:03
@Imray \ b表示单词边界。 – mentics 2013-06-13 19:58:09