import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?:A(?:C(?:WS|[DS])?T|DT|E[DS]?T|FT|K[DS]T|LMT|M[S]?T|NAS?T|QTT|RT|ST|W[DS]T|Z(?:OS|[OS])?T|oE|T)|B(?:RS|[NORST])T|C(?:AS|ES|H(?:A[DS]|OS|[OU])|ID?S|LS|hS|[ACDEKLOSVX])?T|D(?:AV|DU)T|E(?:ASS?|ES|GS|[ACDEGS])?T|F(?:JS|KS|[EJKN])T|G(?:A[LM]|IL|[EFMSY])T|H(?:OVS?|[DKS])T|I(?:R(?:KS|[DKS])|[CDOS])T|JST|K(?:OS|RAS?|UY|[GS])T|L(?:H[DS]|IN)T|M(?:A(?:GS|[GRW])T|DT|HT|MT|S[DKT]|UT|VT|YT|T)|N(?:FD|OVS?|Z[DS]|[CDFPRSU])T|O(?:MSS?|RA)T|P(?:ETS?|HO|M[DS]|ON|YS|[DEGHKSWY])?T|QYZT|R(?:OT|E)T|S(?:A[KMS]|RE|YO|[BCGRS])T|T(?:AH|OS|[FJKLMORV])T|U(?:LAS?T|TC|YS?T|ZT)|V(?:LAS?|OS|[EU])T|W(?:A(?:RS|[KS])?T|ES?T|FT|GS?T|I(?:TA|[BT])|ST|T)|Y(?:A(?:KS|[KP])|EKS?)T|[ABCDEFGHIKLMNOPQRSTUVWXYZ])$";
final String string = "A\n"
+ "ACDT\n"
+ "ACST\n"
+ "ACT\n"
+ "ACT\n"
+ "ACWST\n"
+ "ADT\n"
+ "ADT\n"
+ "AEDT\n"
+ "AEST\n"
+ "AET\n"
+ "AFT\n"
+ "AKDT\n"
+ "AKST\n"
+ "ALMT\n"
+ "AMST\n"
+ "AMST\n"
+ "AMT\n"
+ "AMT\n"
+ "ANAST\n"
+ "ANAT\n"
+ "AQTT\n"
+ "ART\n"
+ "AST\n"
+ "AST\n"
+ "AT\n"
+ "AWDT\n"
+ "AWST\n"
+ "AZOST\n"
+ "AZOT\n"
+ "AZST\n"
+ "AZT\n"
+ "AoE\n"
+ "B\n"
+ "BNT\n"
+ "BOT\n"
+ "BRST\n"
+ "BRT\n"
+ "BST\n"
+ "BST\n"
+ "BST\n"
+ "BTT\n"
+ "C\n"
+ "CAST\n"
+ "CAT\n"
+ "CCT\n"
+ "CDT\n"
+ "CDT\n"
+ "CEST\n"
+ "CET\n"
+ "CHADT\n"
+ "CHAST\n"
+ "CHOST\n"
+ "CHOT\n"
+ "CHUT\n"
+ "CIDST\n"
+ "CIST\n"
+ "CKT\n"
+ "CLST\n"
+ "CLT\n"
+ "COT\n"
+ "CST\n"
+ "CST\n"
+ "CST\n"
+ "CT\n"
+ "CVT\n"
+ "CXT\n"
+ "ChST\n"
+ "D\n"
+ "DAVT\n"
+ "DDUT\n"
+ "E\n"
+ "EASST\n"
+ "EAST\n"
+ "EAT\n"
+ "ECT\n"
+ "EDT\n"
+ "EEST\n"
+ "EET\n"
+ "EGST\n"
+ "EGT\n"
+ "EST\n"
+ "ET\n"
+ "F\n"
+ "FET\n"
+ "FJST\n"
+ "FJT\n"
+ "FKST\n"
+ "FKT\n"
+ "FNT\n"
+ "G\n"
+ "GALT\n"
+ "GAMT\n"
+ "GET\n"
+ "GFT\n"
+ "GILT\n"
+ "GMT\n"
+ "GST\n"
+ "GST\n"
+ "GYT\n"
+ "H\n"
+ "HDT\n"
+ "HKT\n"
+ "HOVST\n"
+ "HOVT\n"
+ "HST\n"
+ "I\n"
+ "ICT\n"
+ "IDT\n"
+ "IOT\n"
+ "IRDT\n"
+ "IRKST\n"
+ "IRKT\n"
+ "IRST\n"
+ "IST\n"
+ "IST\n"
+ "IST\n"
+ "JST\n"
+ "K\n"
+ "KGT\n"
+ "KOST\n"
+ "KRAST\n"
+ "KRAT\n"
+ "KST\n"
+ "KUYT\n"
+ "L\n"
+ "LHDT\n"
+ "LHST\n"
+ "LINT\n"
+ "M\n"
+ "MAGST\n"
+ "MAGT\n"
+ "MART\n"
+ "MAWT\n"
+ "MDT\n"
+ "MHT\n"
+ "MMT\n"
+ "MSD\n"
+ "MSK\n"
+ "MST\n"
+ "MT\n"
+ "MUT\n"
+ "MVT\n"
+ "MYT\n"
+ "N\n"
+ "NCT\n"
+ "NDT\n"
+ "NFDT\n"
+ "NFT\n"
+ "NOVST\n"
+ "NOVT\n"
+ "NPT\n"
+ "NRT\n"
+ "NST\n"
+ "NUT\n"
+ "NZDT\n"
+ "NZST\n"
+ "O\n"
+ "OMSST\n"
+ "OMST\n"
+ "ORAT\n"
+ "P\n"
+ "PDT\n"
+ "PET\n"
+ "PETST\n"
+ "PETT\n"
+ "PGT\n"
+ "PHOT\n"
+ "PHT\n"
+ "PKT\n"
+ "PMDT\n"
+ "PMST\n"
+ "PONT\n"
+ "PST\n"
+ "PST\n"
+ "PT\n"
+ "PWT\n"
+ "PYST\n"
+ "PYT\n"
+ "PYT\n"
+ "Q\n"
+ "QYZT\n"
+ "R\n"
+ "RET\n"
+ "ROTT\n"
+ "S\n"
+ "SAKT\n"
+ "SAMT\n"
+ "SAST\n"
+ "SBT\n"
+ "SCT\n"
+ "SGT\n"
+ "SRET\n"
+ "SRT\n"
+ "SST\n"
+ "SYOT\n"
+ "T\n"
+ "TAHT\n"
+ "TFT\n"
+ "TJT\n"
+ "TKT\n"
+ "TLT\n"
+ "TMT\n"
+ "TOST\n"
+ "TOT\n"
+ "TRT\n"
+ "TVT\n"
+ "U\n"
+ "ULAST\n"
+ "ULAT\n"
+ "UTC\n"
+ "UYST\n"
+ "UYT\n"
+ "UZT\n"
+ "V\n"
+ "VET\n"
+ "VLAST\n"
+ "VLAT\n"
+ "VOST\n"
+ "VUT\n"
+ "W\n"
+ "WAKT\n"
+ "WARST\n"
+ "WAST\n"
+ "WAT\n"
+ "WEST\n"
+ "WET\n"
+ "WFT\n"
+ "WGST\n"
+ "WGT\n"
+ "WIB\n"
+ "WIT\n"
+ "WITA\n"
+ "WST\n"
+ "WST\n"
+ "WT\n"
+ "X\n"
+ "Y\n"
+ "YAKST\n"
+ "YAKT\n"
+ "YAPT\n"
+ "YEKST\n"
+ "YEKT\n"
+ "Z";
final String subst = "$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