import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?:[\\w+/=-]{76}\\R)+[\\w+/=-]{1,76}";
final String string = " Login Register \n"
+ "PHP Classes\n"
+ "File: test/sample/message.eml\n"
+ " Search \n"
+ "Search\n"
+ " Search All class groups All class groups Latest entries Latest entries Top 10 charts Top 10 charts Blog Blog Forums Forums Shop Shop Help Help \n"
+ "Recommend this page to a friend!\n"
+ " Classes of Manuel Lemos > PHP MIME Email Message Parser > test/sample/message.eml > Download \n"
+ "File: test/sample/message.eml\n"
+ "Role: Auxiliary data\n"
+ "Content type: text/plain\n"
+ "Description: Sample MIME message file used by the example script\n"
+ "Class: PHP MIME Email Message Parser\n"
+ "Decode MIME e-mail messages\n"
+ "Author: By Manuel Lemos\n"
+ "Last change: \n"
+ "Date: 14 years ago\n"
+ "Size: 9,051 bytes\n"
+ " \n"
+ " \n"
+ "Contents\n"
+ "Class file image Download\n"
+ "Return-Path: <mlemos@acm.org>\n"
+ "To: Manuel Lemos <mlemos@linux.local>\n"
+ "Subject: Testing Manuel Lemos' MIME E-mail composing and sending PHP class: HTML message\n"
+ "From: mlemos <mlemos@acm.org>\n"
+ "Reply-To: mlemos <mlemos@acm.org>\n"
+ "Sender: mlemos@acm.org\n"
+ "X-Mailer: http://www.phpclasses.org/mimemessage $Revision: 1.63 $ (mail)\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: multipart/mixed; boundary=\"652b8c4dcb00cdcdda1e16af36781caf\"\n"
+ "Message-ID: <20050430192829.0489.mlemos@acm.org>\n"
+ "Date: Sat, 30 Apr 2005 19:28:29 -0300\n\n\n"
+ "--652b8c4dcb00cdcdda1e16af36781caf\n"
+ "Content-Type: multipart/related; boundary=\"6a82fb459dcaacd40ab3404529e808dc\"\n\n\n"
+ "--6a82fb459dcaacd40ab3404529e808dc\n"
+ "Content-Type: multipart/alternative; boundary=\"69c1683a3ee16ef7cf16edd700694a2f\"\n\n\n"
+ "--69c1683a3ee16ef7cf16edd700694a2f\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: quoted-printable\n\n"
+ "This is an HTML message. Please use an HTML capable mail program to read\n"
+ "this message.\n\n"
+ "--69c1683a3ee16ef7cf16edd700694a2f\n"
+ "Content-Type: text/html; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: quoted-printable\n\n"
+ "<html>\n"
+ "<head>\n"
+ "<title>Testing Manuel Lemos' MIME E-mail composing and sending PHP class: H=\n"
+ "TML message</title>\n"
+ "<style type=3D\"text/css\"><!--\n"
+ "body { color: black ; font-family: arial, helvetica, sans-serif ; backgroun=\n"
+ "d-color: #A3C5CC }\n"
+ "A:link, A:visited, A:active { text-decoration: underline }\n"
+ "--></style>\n"
+ "</head>\n"
+ "<body>\n"
+ "<table background=3D\"cid:4c837ed463ad29c820668e835a270e8a.gif\" width=3D\"100=\n"
+ "%\">\n"
+ "<tr>\n"
+ "<td>\n"
+ "<center><h1>Testing Manuel Lemos' MIME E-mail composing and sending PHP cla=\n"
+ "ss: HTML message</h1></center>\n"
+ "<hr>\n"
+ "<P>Hello Manuel,<br><br>\n"
+ "This message is just to let you know that the <a href=3D\"http://www.phpclas=\n"
+ "ses.org/mimemessage\">MIME E-mail message composing and sending PHP class</a=\n"
+ "> is working as expected.<br><br>\n"
+ "<center><h2>Here is an image embedded in a message as a separate part:</h2>=\n"
+ "</center>\n"
+ "<center><img src=3D\"cid:ae0357e57f04b8347f7621662cb63855.gif\"></center>Than=\n"
+ "k you,<br>\n"
+ "mlemos</p>\n"
+ "</td>\n"
+ "</tr>\n"
+ "</table>\n"
+ "</body>\n"
+ "</html>\n"
+ "--69c1683a3ee16ef7cf16edd700694a2f--\n\n"
+ "--6a82fb459dcaacd40ab3404529e808dc\n"
+ "Content-Type: image/gif; name=\"logo.gif\"\n"
+ "Content-Transfer-Encoding: base64\n"
+ "Content-Disposition: inline; filename=\"logo.gif\"\n"
+ "Content-ID: <ae0357e57f04b8347f7621662cb63855.gif>\n\n"
+ "R0lGODlhlgAjAPMJAAAAAAAA/y8vLz8/P19fX19f339/f4+Pj4+Pz7+/v///////////////////\n"
+ "/////yH5BAEAAAkALAAAAACWACMAQwT+MMlJq7046827/2AoHYChGAChAkBylgKgKClFyEl6xDMg\n"
+ "qLFBj3C5uXKplVAxIOxkA8BhdFCpDlMK1urMTrZWbAV8tVS5YsxtxmZHBVOSCcW9zaXyNhslVcto\n"
+ "RBp5NQYxLAYGLi8oSwoJBlE+BiSNj5E/PDQsmy4pAJWQLAKJY5+hXhZ2dDYldFWtNSFPiXssXnZR\n"
+ "k5+1pjpBiDMJUXG/Jo7DI4eKfMSmxsJ9GAUB1NXW19jZ2tvc3d7f4OHi2AgZN5vom1kk6F7s6u/p\n"
+ "m3Ab7AOIiCxOyZuBIv8AOeTJIaYQjiR/kKTr5GQNE3pYSjCJ9mUXClRUsLxaZGciC0X+OlpoOuQo\n"
+ "ZKdNJnIoKfnxRUQh6FLG0iLxIoYnJd0JEKISJyAQDodp3EUDC48oDnUY7HFI3wEDRjzycQJVZCQT\n"
+ "Ol7NK+G0qgtkAcOKHUu2rNmzYTVqRMt2bB49bHompSchqg6HcGeANSMxr8sEa2y2HexnSEUTuWri\n"
+ "SSbkYh7BgGVAnhB1b2REibESYaRoBgqIMYx59tFM9AvQffVG49P5NMZkMlHKhJPJb0knmSKZ6kSX\n"
+ "JtbeF3Am7ocok6c7cM7pU5xcXiJJETUz16qPrzEfaFgZpvzn7h86YV5r/1mxXeAUMVyEIpnVUGpN\n"
+ "RlG2ka9b3lP3pm2l6u7P+l/YLj3+RlEHbz1C0kRxSITQaAcilVBMEzmkkEQO8oSOBNg9SN+AX6hV\n"
+ "z1pjgJiAhwCRsY8ZIp6xj1ruqCgeGeKNGEZwLnIwzTg45qjjjjz2GEA5hAUp5JBEFmnkkSCoWEcZ\n"
+ "X8yohZNK1pFGPQS4hx0qNSLJlk9wCQORYu5QiMd7bUzGVyNlRiOHSlpuKdGEItHQ3HZ18beRRyws\n"
+ "YSY/waDTiHf/tWlWUBAJiMJ1/Z0XXU7N0FnREpKM4NChCgbyRDq9XYpOplaKopN9NMkDnBbG+UMC\n"
+ "QwLWIeaiglES6AjGARcPHCWoVAiatcTnGTABZoLPaPG1phccPv366mEvWEFSLnj+2QaonECwcJt/\n"
+ "e1Zw3lJvVMmftBdVNQS3UngLCA85YHIQOy6JO9N4eZW7KJwtOUZmGwOMWqejwVW6RQzaikRHX3yI\n"
+ "osKhDAq8wmnKSmdMwNidSOof9ZG2DoV0RfTVmLFtGmNk+CoZna0HQnPHS3AhRbIeDpqmR09E0bsu\n"
+ "soeaw994z+rwQVInvqLenBftYjLOVphLFHhV9qsnez8AEUbQRgO737AxChjmyANxuEFHSGi7hFCV\n"
+ "4jxLst2N8sRJYU+SHiAKjlmCgz2IffbLI5aaQR71hnkxq1ZfHSfKata6YDCJDMAQwY7wOgzhjxgj\n"
+ "VFQnKB5uX4mr9qJ79pann+VcfcSzsSCd2mw5scqRRvlQ6TgcUelYhu75iPE4JejrsJOFQAG01277\n"
+ "7bjnrvvuvPfu++/ABy887hfc6OPxyCevPDdAVoDA89BHL/301Fdv/fXYZ6/99tx3Pz0FEQAAOw==\n\n"
+ "--6a82fb459dcaacd40ab3404529e808dc\n"
+ "Content-Type: image/gif; name=\"background.gif\"\n"
+ "Content-Transfer-Encoding: base64\n"
+ "Content-Disposition: inline; filename=\"background.gif\"\n"
+ "Content-ID: <4c837ed463ad29c820668e835a270e8a.gif>\n\n"
+ "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\n"
+ "eZmYmZmauZmc2ZlCEQEAOw==\n\n"
+ "--6a82fb459dcaacd40ab3404529e808dc--\n\n"
+ "--652b8c4dcb00cdcdda1e16af36781caf\n"
+ "Content-Type: text/plain; name=\"attachment.txt\"\n"
+ "Content-Transfer-Encoding: base64\n"
+ "Content-Disposition: attachment; filename=\"attachment.txt\"\n\n"
+ "VGhpcyBpcyBqdXN0IGEgcGxhaW4gdGV4dCBhdHRhY2htZW50IGZpbGUgbmFtZWQgYXR0YWNobWVu\n"
+ "dC50eHQgLg==\n\n"
+ "--652b8c4dcb00cdcdda1e16af36781caf--\n\n\n"
+ " \n"
+ " Advertise on this site Advertise On This Site Site map Site Map Newsletter Newsletter Statistics Statistics Site tips Site Tips Privacy policy Privacy Policy Contact Contact \n"
+ "Icontem\n"
+ "Copyright (c) Icontem 1999-2021\n"
+ "For more information send a message to info at phpclasses dot org.";
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