Patternの例
1618 ワード
package com.test;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter pattern:");
String patternStr = in.nextLine();
Pattern pattern = null;
try {
pattern = Pattern.compile(patternStr);
} catch (Exception e) {
System.err.println("pattern syntax error");
System.exit(1);
}
while(true){
System.out.println("Enter String to math:");
String input = in.nextLine();
if(null == input || input.equals("")) return;
Matcher matcher = pattern.matcher(input);
if(matcher.matches()){
System.out.println("Match");
int g = matcher.groupCount();
if(g > 0 ){
for (int i = 0; i < input.length(); i++) {
for (int j = 1; j <= g; j++) {
if(i == matcher.start()){
System.out.println("(");
}
System.out.println(input.charAt(i));
}
for (int j = 1; j <= g; j++) {
if(i == matcher.end()){
System.out.println(")");
}
System.out.println(input.charAt(i));
}
}
}
} else {
System.out.println("no match");
}
}
}
}