import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(.*) ([\\w\\d\\.\\-\\(\\)]+) (\\d(?:\\.\\d+){2,}$)";
final String string = "id-DirectTrust. arc 1.3.6.1.4.1.41179\n"
+ "id-DirectTrustpolicies id-DirectTrust.(0) 1.3.6.1.4.1.41179.0\n"
+ "DirectTrust-CP 2.0 id-DirectTrustpolicies.(2.0) 1.3.6.1.4.1.41179.0.2.0\n"
+ "id-DirectTrust-LoAs id-DirectTrust.(1) 1.3.6.1.4.1.41179.1\n"
+ "DirectTrust ID LoA 1 id-DirectTrust-LoAs.(1) 1.3.6.1.4.1.41179.1.1\n"
+ "DirectTrust ID LoA 2 id-DirectTrust-LoAs.(2) 1.3.6.1.4.1.41179.1.2\n"
+ "DirectTrust ID LoA 3 id-DirectTrust-LoAs.(3) 1.3.6.1.4.1.41179.1.3\n"
+ "DirectTrust ID LoA 4 id-DirectTrust-LoAs.(4) 1.3.6.1.4.1.41179.1.4\n"
+ "DirectTrust ID IAL 1 id-DirectTrust-LoAs.(1) 1.3.6.1.4.1.41179.1.1\n"
+ "DirectTrust ID IAL 2 id-DirectTrust-LoAs.(5) 1.3.6.1.4.1.41179.1.5\n"
+ "DirectTrust ID IAL 3 id-DirectTrust-LoAs.(6) 1.3.6.1.4.1.41179.1.6\n"
+ "id-DirectTrust-Cat id-DirectTrust.(2) 1.3.6.1.4.1.41179.2\n"
+ "DirectTrust CE id-DirectTrust-Cat.(1) 1.3.6.1.4.1.41179.2.1\n"
+ "DirectTrust BA id-DirectTrust-Cat.(2) 1.3.6.1.4.1.41179.2.2\n"
+ "DirectTrust HE id-DirectTrust-Cat.(3) 1.3.6.1.4.1.41179.2.3\n"
+ "DirectTrust Patient id-DirectTrust-Cat.(4) 1.3.6.1.4.1.41179.2.4\n"
+ "DirectTrust NonDeclared id-DirectTrust-Cat.(5) 1.3.6.1.4.1.41179.2.5\n"
+ "id-DirectTrust-Dev id-DirectTrust.(3) 1.3.6.1.4.1.41179.3\n"
+ "DirectTrust Device id-DirectTrust-Dev.(1) 1.3.6.1.4.1.41179.3.1\n"
+ "id-DirectTrust-authLoAs id-DirectTrust.(6) 1.3.6.1.4.1.41179.6\n"
+ "DirectTrust Auth AAL 1 id-DirectTrust-auth-LoAs.(5) 1.3.6.1.4.1.41179.6.5\n"
+ "DirectTrust Auth AAL 2 id-DirectTrust-auth-LoAs.(6) 1.3.6.1.4.1.41179.6.6\n"
+ "DirectTrust Auth AAL 3 id-DirectTrust-auth-LoAs.(7) 1.3.6.1.4.1.41179.6.7\n"
+ "id-DirectTrust-Cont id-DirectTrust.(7) 1.3.6.1.4.1.41179.7\n"
+ "DirectTrust Content Commitment id-DirectTrust-Cont.(1) 1.3.6.1.4.1.41179.7.1";
final String subst = "\\3\\t\\2\\t\\1";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
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