見つかり何もないの奇数:正規表現:文字の出現検索で私の問題への具体的な
私は奇妙なを持っている一連の文字列を生成する必要がアルファベット{A、B、C}を、持っていますaの数。
有効:ababaccccc baaacccccタクシーcaabaaac
無効な:BAAC caacccbのcaabbbaac
試み:
\b[bc]*a{3}[bc]*\b
が、これは非常に限られています。
見つかり何もないの奇数:正規表現:文字の出現検索で私の問題への具体的な
私は奇妙なを持っている一連の文字列を生成する必要がアルファベット{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");
}
}
なぜ有効と呼ばれるブール変数がありませんか?文字 'a'に出会うたびにfalseとなり、状態が変化します。 文字列arr [] = {"ababaccccc"、 "baaaccccc"、 "caabaaac"、 "baac" "caacccb"、 "caabbbaac"}; for(文字列:arr){ bool valid = false; for(int i = 0; i
は、それが簡単に
「\ b」とは何ですか? – CodyBugstein
@Imray \ bは単語境界を意味します。 – mentics