import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^[a-z][a-z]*(([A-Z][a-z]+)*[A-Z]?|([a-z]+[A-Z])*|[A-Z])$";
final String string = "affine3D\n"
+ "lThan30DaysCount\n"
+ "lessThan30DaysCount\n"
+ "lessThan30DaysCountA\n"
+ "greaterThan30LessThan60DaysCount\n"
+ "greaterThan60LessThan90DaysCount\n"
+ "greaterThan90DaysCount\n"
+ "snake_case\n"
+ "PascalCase\n"
+ "2PascalCase\n"
+ "streamIOIO\n"
+ "gREATERDtha\n"
+ "modeADFAFdsADFads\n"
+ "aBabcABCDabcABC\n"
+ "modeADFdsADFads\n"
+ "streamIO\n"
+ "aBCabcABCabcA\n"
+ "aBCabcA\n"
+ "aabc123\n"
+ "aabcABC\n"
+ "deviceSNS\n"
+ "pathASNs\n"
+ "dscpCP\n"
+ "awsVPC\n"
+ "deviceID\n"
+ "gREA1\n"
+ "gREAt\n"
+ "gREAtREAt\n"
+ "cP3\n"
+ "a1\n"
+ "aABC\n"
+ "a123\n"
+ "modeADFsADFads\n"
+ "a1G\n"
+ "modeADFads\n"
+ "supportsIpv6OnIos\n"
+ "pascal2Case\n"
+ "pascal2CaseA\n"
+ "mode2A\n"
+ "mode2A2\n"
+ "mode2A2A\n"
+ "createAMode\n"
+ "createBMode\n"
+ "hTMLParser\n"
+ "hELLO\n"
+ "camel01C\n"
+ "camel01c01\n"
+ "camel01C01\n"
+ "camel01CC01\n"
+ "camel0a1c1\n"
+ "camel0a1C1\n"
+ "camel0ac1b1C1\n"
+ "camelC1\n"
+ "camelCA\n"
+ "camelCa1\n"
+ "camelCa_1\n"
+ "ibsReleaseTestVerificationRegressioNSuite\n"
+ "modeA\n"
+ "pascalCaseA\n"
+ "pascalCase\n"
+ "madeEasy\n"
+ "wonderFul\n"
+ "andMe\n"
+ "context\n"
+ "htmlParser\n"
+ "h\n"
+ "aaA\n"
+ "a\n"
+ "ab\n"
+ "abc\n"
+ "abcd\n"
+ "abcde\n"
+ "camelCasE\n"
+ "aGa\n"
+ "camelCasecamelCasecamelCasecamelCasecamelCasecamelCase\n"
+ "aG\n"
+ "alphabet\n"
+ "camelCase\n"
+ "xmlHttpRequest\n"
+ "newCustomerId\n"
+ "innerStopwatch\n"
+ "youTubeImporter\n"
+ "youtubeImporter\n"
+ "camelC\n"
+ "ibsReleaseTestVerificationRegressionSuite\n"
+ "ibsReleaseTestVerificationRegressioN";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html