import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(<ptS[a-zA-Z]*Text[a-zA-Z0-9\\/=\\+\\n\\t\\r\\0 \"]+>)([a-zA-Z0-9\\/=+\\n\\t\\r\\0 &#;\\-\\.\\(\\),:£]+)(<\\/ptS[a-zA-Z]*Text[a-zA-Z0-9\\/=\\+\\n\\t\\r\\0 \"]*>)";
final String string = "<CDBText id=\"(0:0-51181)\">\n"
+ " <dwRefTextOrdner>5622</dwRefTextOrdner>\n"
+ " <dwRefMitarbeiter>0</dwRefMitarbeiter>\n"
+ " <ptSName code=\"None\" lang=\"en\">OWN_Text 15</ptSName>\n"
+ " <dBreite>21</dBreite>\n"
+ " <dHoehe>29.699999999999999</dHoehe>\n"
+ " <dOben>2</dOben>\n"
+ " <dUnten>2</dUnten>\n"
+ " <dLinks>2</dLinks>\n"
+ " <dRechts>2</dRechts>\n"
+ " <cHochQuerformat>0x00</cHochQuerformat>\n"
+ " <cPapierSchacht>0</cPapierSchacht>\n"
+ " <cPapierSchachtErsteSeite>0</cPapierSchachtErsteSeite>\n"
+ " <ptSDruckername code=\"None\" lang=\"en\"></ptSDruckername>\n"
+ " <ptDErstellungsdatum>Thu 04.Sep 2008</ptDErstellungsdatum>\n"
+ " <ptDSpeicherungsdatum>Thu 04.Sep 2008</ptDSpeicherungsdatum>\n"
+ " <ptTSpeicherungszeit>10:10:10 am</ptTSpeicherungszeit>\n"
+ " <nVersion>3</nVersion>\n"
+ " <ptSTitel code=\"None\" lang=\"en\"></ptSTitel>\n"
+ " <ptSThema code=\"None\" lang=\"en\"></ptSThema>\n"
+ " <ptSAutor code=\"None\" lang=\"en\">ld</ptSAutor>\n"
+ " <ptSKommentar code=\"None\" lang=\"en\"></ptSKommentar>\n"
+ " <cGeschuetzt>0x00</cGeschuetzt>\n"
+ " <cDBTextDaten><xref refid=\"(0:0-51182)\"/></cDBTextDaten>\n"
+ " </CDBText>\n\n"
+ " <CDBTextDaten id=\"(0:0-51182)\">\n"
+ " <ptBKopfzeileText len=\"0\" crc=\"0\">\n\n"
+ " </ptBKopfzeileText>\n"
+ " <ptSKopfzeileText code=\"None\" lang=\"en\"></ptSKopfzeileText>\n"
+ " <ptBKopfzeileFormat len=\"0\" crc=\"0\">\n\n"
+ " </ptBKopfzeileFormat>\n"
+ " <ptBFusszeileText len=\"0\" crc=\"0\">\n\n"
+ " </ptBFusszeileText>\n"
+ " <ptSFusszeileText code=\"None\" lang=\"en\"></ptSFusszeileText>\n"
+ " <ptBFusszeileFormat len=\"0\" crc=\"0\">\n\n"
+ " </ptBFusszeileFormat>\n"
+ " <ptBMitteText len=\"1031\" crc=\"3139242066\">\n"
+ "8PHw/1BLAwQUAAAACABFUSQ5KkncyMoCAADTBAAAKwBwAERPQ1VNRX4xL0NBVENM\n"
+ "SX4xL0xPQ0FMU34xL1RlbXAvMi9ibG8zMC50bXBTRFsApAAAAAAIALXyphxjZGBp\n"
+ "EGFgYDBggAAfIGZkBTNZRYFE/LvcS4ufyjZ5Wa+KSmHBLcfIxMDAxBDBwAyWlmD4\n"
+ "zyjPABIDqVUAEgpgtghEnBEiLgSmVCBieOwEAFVUDQAH8qW/SPKlv0jypb9IbVPd\n"
+ "TtswFO7dtEp9h3MJoi0dGruAq6pkUIlS1HYgLt3kJDF17M52ChGPw4vus1MG+6kU\n"
+ "p3KOfb6/M5nfLJObFX2fL2bU6xKeT/j9uYZ3r3vP5Lw1ulANWU5NVbHOyJfCk1CK\n"
+ "tuwdCctUbwfeDDLhmZ6kL2kn0lRq4aXRjtacG9SIrJLOYWfY694qFg5bbkMyp8bU\n"
+ "7S3a1Xg9lexLtmHbUmYKMpZSdJSO8loBydYaz6nnDDcB/CK5Tu7GIDRLLqaT8TVd\n"
+ "TZer+eKByDFH2DZzRAeFcQDiy8PADuduF/NJcvFjkdAla7ZCkdCCHXp7mfbJpUIB\n"
+ "IvhujZKupCPiZ29FGliRyYnW1mxYkzfGl306Oh6guiETwb+Xutis1fPt6XWnVMgd\n"
+ "UwU2bPfCEOBBXDRdG3wDzZSzoEgAUeuMrfPio/6uTsv3MgeVrG1IkKvCV1YMu3yA\n"
+ "aqXbDEPTv2+ZWJN7ugs+1jAkNF9DAjJbaSSYC6kpNRoZgDo7IZVY70XBrgu3exNP\n"
+ "hdNo5Eu45ETe1nCew6fAs6wroSmzdUG4MbL2w2ErSyvIPf83YcgQurgWeGGkLqgS\n"
+ "j9AJUSnYNn1it+VUihAMo1AUU9kvBboKWitjcF2g9Fhj+ZBFLRFt8WamoOLfEAxb\n"
+ "pzJDx2HRxgPjz1qGG6A7DwzME5Fg28illrn1seVIy2iF0BJvRwd7PpRLxYdnN6Li\n"
+ "8y+jb6ej/To6/3qOuHzudceXiySZhTFdzel2/NDrJsvVdDZeJWdEryejEQ3o5OQ0\n"
+ "AoyjEYYlBDVtgiUIxU5mTKlq5YtTCQcwl7UNY5pjNEATsDyD5pV54h3bfvQSfxrC\n"
+ "9IbohZzv2LPFOGO34kxislt79xbAkA3CJwGj2hokOUQkYgjFHklxQMDPGAfVxBSK\n"
+ "AjLFEtFEm4EGDELUlOLfA7aPSZuRfUyWstCcnb3lptN56Ww6L78AUEsBAhcLFAAA\n"
+ "AAgARVEkOSpJ3MjKAgAA0wQAACsAEQAAAAAAAAAgALaBAAAAAERPQ1VNRX4xL0NB\n"
+ "VENMSX4xL0xPQ0FMU34xL1RlbXAvMi9ibG8zMC50bXBTRAQApAAAAFVUBQAH8qW/\n"
+ "SFBLBQYAAAAAAQABAGoAAACDAwAAAAA=\n"
+ " </ptBMitteText>\n"
+ " <ptSMitteText code=\"None\" lang=\"en\">CONSENT FORM \n"
+ " \n"
+ "\n"
+ "\n"
+ "\n"
+ "\n"
+ "\n"
+ "We strongly recommend that all pets are up-to-date with vaccinations before admission.\n"
+ "Please ask if you are unsure whether your dog or cat is fully protected.\n"
+ " \n"
+ "RELEVANT MEDICAL HISTORY see records (gosforth)\n"
+ "\n"
+ " \n"
+ "PROCEDURE General anaesthetic, scale and polish + extraction of broken tooth, +/- any other extractions\n"
+ " \n"
+ "\n"
+ "\n"
+ "\n"
+ "\n"
+ "\n"
+ "I give my permission for the above procedure and understand that all such procedures carry a small element of risk.\n"
+ "I understand that Croft Vets use the best opioid pain control available and consent to the use of this safe and effective human drug in my pet..\n"
+ "\n"
+ "\n"
+ "\n"
+ "We recommend that all patients undergoing major surgery, especially older pets,have a blood test just before administration of a general anaesthetic.\n"
+ "\n"
+ "I do / do not require a pre-operative blood screen for my pet Small animals (patient file):Name;10650;10650;0;4;\n"
+ " \n"
+ "AGREEMENT TO PAY\n"
+ "ESTIMATE: £200 - 225\n"
+ "\n"
+ "It is our policy to provide clients with an accurate fee estimate.\n"
+ "However, the very nature of veterinary medicine and surgery makes it impossible to predict costs exactly.\n"
+ "I agree to pay all fees on collection of my pet.\n"
+ "\n"
+ "\n"
+ "Signed:\n"
+ "\n"
+ "</ptSMitteText>\n"
+ " <ptBMitteFormat len=\"3251\" crc=\"1808381608\">\n"
+ "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\n"
+ "zQOVEu2R0vDhb2Q31vDHsjw0nHGzI9235Gdp+1GCKcGUYAoEU/NbZtfE9+Ho1T4X\n"
+ "49zPZ8meh0vywJ56lGcsOBIOjhxVtmoR19kdDfjPsX277jcQU22O/Xo50YnoRHQi\n"
+ "OhGd+G2O/Sd8PfNk3VQZ9AnPKeub9FOMXMO+79SC9Rl2TH7D4vph159wGbr2WAH2\n"
+ "YuC0TJc+aGXsNaYz22xIr+Y2vFyd5Jj8hq71db/Ape4pPFcrk+wJ8541fr/buPyF\n"
+ "KfIXptpfbk29AL+oNb4X29jdwqWfXUt5fCFJOs/pigK8xVvNPD/PSUNKzVPdq6eN\n"
+ "2zlpM/TVY9zqPmao2z7v860/43bD+bZymR56o0hZw1mXvH9mavOfHjpcmoc1nGw7\n"
+ "zG6Xr7Ong30b0dN6qNvl9qVexVlKP59K8QPFDxQ/AMUPZuIHlbPaVFFljlZxRhSm\n"
+ "PVyd3ejWnsI8kCjRLigNf9fwhYrkDY7NaT0uyNOvqLYHQoMpobmsmKBJ0CRoEjQJ\n"
+ "movhV1RvK+ypX5nIHkHHGv3jI8g7NB8oDT+Zgvb6hR+xxxWWvDccilnDX83QTYl9\n"
+ "kC/z4aaw38o9GAwFGlr7+6VQKOWiyqtWgj5Bn6BP0Cfom4G+OiMV26GA/epA4uiv\n"
+ "hozcLKpU14ecWJWdM/AQ8s5UXtMbkGy4fV51G2u3Gurm802PI4o/Ub8mX0P5/86H\n"
+ "Z8IOyNYApR69/wP5JOSTkE9CPgmQT8JrA2Clq+VoIGJcwdgeA8bSw+fO8jzAh8Pa\n"
+ "1H+sIjoRnYhORCeiE9+1qbE9/RilYmtTNVOf84yeY/ub44VLIdi6Ob6SqH/cVpSn\n"
+ "gd32Qan/uDQg9k2kDqJaSghThCnCFGGKMMVrYJdZaU43sqvO8lvxTWWLdAA3menX\n"
+ "vv8PUEsBAhcLFAAAAAgARVEkOaApQgZ2CwAA4tgAACsAEQAAAAAAAAAgALaBAAAA\n"
+ "AERPQ1VNRX4xL0NBVENMSX4xL0xPQ0FMU34xL1RlbXAvMi9ibG8zMi50bXBTRAQA\n"
+ "pAAAAFVUBQAH8qW/SFBLBQYAAAAAAQABAGoAAAAvDAAAAAA=\n"
+ " </ptBMitteFormat>\n"
+ " </CDBTextDaten>\n";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL | 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