Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "(?<garbage>(nowrap=\"\")|(nowrap))(?<styleHead>\\sstyle=\")(?<styleBody>\\w+((\\w+)|(-\\w+)):\\s\\w+;)(?<styleTail>\")"; final String string = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + " <link rel=\"stylesheet\" href=\"http://www.jbistudios.com/appdev_assets/production_assets/html_partials/pdf_view_templates/css/pdf_view_styles.css\" />\n" + " <title>JBI Studios Project Quotation</title>\n" + "</head>\n\n" + "<body>\n" + "<div class=\"audioTmplSectionContainer\">\n" + "<div style=\"text-align: center\">\n" + " <table border=\"\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplSection\">\n" + " <tr>\n" + " <td width=\"150\"><br />\n" + " <img src=\"http://www.jbistudios.com/appdev_assets/production_assets/html_partials/pdf_view_templates/images/jbi_logo.png\" width=\"64\"></td>\n\n" + " <td width=\"138\"><br />\n" + " www.jbistudios.com<br />\n" + " 818-592-0056</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td width=\"150\"><br /></td>\n\n" + " <td width=\"138\"><br /></td>\n" + " </tr>\n" + " </table>\n" + "</div><br />\n" + "<strong>JBI Studios Estimate ##QuoteNr ##Version</strong>\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"631\">\n" + " <tr>\n" + " <td style=\"vertical-align: top;\" width=\"126\"><br />\n" + " <strong>Date:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"217\"><br />\n" + " ## Date</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"60\"><br />\n" + " <strong>Contact:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Contact</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td style=\"vertical-align: top;\" width=\"126\"><br />\n" + " <strong>Estimate #:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"217\"><br />\n" + " ##Quote Nr ##Version</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"60\"><br />\n" + " <strong>Email:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Contact email</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td style=\"vertical-align: top;\" width=\"126\"><br />\n" + " <strong>Client:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"217\"><br />\n" + " ##Account Name</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"60\"><br />\n" + " <strong>Phone:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Contact phone</td>\n" + " </tr>\n" + " </table>\n" + "</div><br />\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"632\">\n" + " <tr>\n" + " <td colspan=\"4\" nowrap width=\"632\"><br />\n" + " <strong>AUDIO PROJECT SPECIFICATIONS</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap width=\"118\"><br /></td>\n\n" + " <td nowrap width=\"228\"><br /></td>\n\n" + " <td width=\"132\"><br /></td>\n\n" + " <td width=\"154\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap rowspan=\"2\" style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>Brief Description:</strong></td>\n\n" + " <td nowrap rowspan=\"2\" style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Description - text from field</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"132\"><br />\n" + " <strong>Audio total minutes:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"154\"><br />\n" + " ##Text input</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td style=\"vertical-align: top;\" width=\"132\"><br />\n" + " <strong>OR Total # of words:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"154\"><br />\n" + " ##Text input</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>Languages:</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Languages - text from field</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"132\"><br />\n" + " <strong>Source language:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"154\"><br />\n" + " ##Source Lang</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>Total # of languages:</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Number of languages</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"132\"><br />\n" + " <strong>Transcription:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"154\"><br />\n" + " ##Transcription</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>voices/language:</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"228\"><br />\n" + " ##Number of voices/language:</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"132\"><br />\n" + " <strong>Deliverables:</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"154\"><br />\n" + " ##Deliverables</td>\n" + " </tr>\n" + " </table>\n" + "</div><br />\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"627\">\n" + " <tr>\n" + " <td colspan=\"2\" nowrap style=\"vertical-align: bottom;\" width=\"356\"><br />\n" + " <strong>PROJECT COSTS</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"3\" style=\"vertical-align: top;\" width=\"231\"><br />\n" + " <strong>TURNAROUND TIMES</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br /></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"18\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"213\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>Transcription</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Transcription</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>Translation</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Total Translation</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br />\n" + " <strong>Transcription</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br />\n" + " ## days</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>Translation Timing</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Total Trx Edit (name change)</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br />\n" + " <strong>Translation</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br />\n" + " ## days</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>Voice-over</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Total Audio</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br />\n" + " <strong>Audio</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br />\n" + " ## days</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>Additional Voices</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Addl Voices</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br />\n" + " <strong>##Addl</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br />\n" + " ##Addl days</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>##Addl</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Addl</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br />\n" + " <strong>##Addl</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br />\n" + " ##Addl days</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>##Addl</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Addl</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong>##Addl</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " ##Addl</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"189\"><br />\n" + " <strong style=\"text-decoration: underline\">PROJECT TOTAL:</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"167\"><br />\n" + " <span style=\"text-decoration: underline\">##$TOTAL</span></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"40\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"114\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"117\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td width=\"189\"></td>\n\n" + " <td width=\"167\"></td>\n\n" + " <td width=\"40\"></td>\n\n" + " <td width=\"18\"></td>\n\n" + " <td width=\"96\"></td>\n\n" + " <td width=\"117\"></td>\n" + " </tr>\n" + " </table>\n" + "</div><br />\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"622\">\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: bottom;\" width=\"622\"><br />\n" + " <strong>ASSUMPTIONS</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"622\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"622\"><br />\n" + " Source script is available in table format (Filenames/English/Target).<br />\n" + " Client pick-up fees are $350/talent session, if any.<br />\n" + " Includes Studio, Talent, Director, Project Management, Pronunciation Guidelines (PG), Post-Production, QA, and Delivery.<br />\n" + " ###Assumptions input<br />\n" + " ###Assumptions input<br />\n" + " ###Assumptions input<br />\n" + " ###Assumptions input<br />\n" + " ###Assumptions input<br />\n" + " ###Assumptions input</td>\n" + " </tr>\n" + " </table>\n" + "</div>\n" + "<br />\n" + "<br />\n\n" + "<div style=\"text-align: center\">\n" + "<table width=\"625\" cellspacing=\"0\" cellpadding=\"0\" border=\"1\" class=\"audioTmplTable\">\n" + "<tbody><tr>\n" + " <td width=\"625\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"7\"><br>\n" + " <strong>AUDIO COSTS BREAKDOWN</strong></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br></td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br></td>\n\n" + " <td width=\"300\" style=\"vertical-align: top;\" colspan=\"4\"><br></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " <strong>Item</strong></td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " <strong>Cost</strong></td>\n\n" + " <td width=\"300\" style=\"vertical-align: top;\" rowspan=\"12\" colspan=\"4\"><br>\n" + " <strong style=\"text-decoration: underline\">Comments:<br>\n" + " <br></strong><br>\n" + " <strong>##Comments input during quote creation</strong><br>\n" + " <strong>##Comments input during quote creation</strong></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Hours of studio</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " hrs</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Transcription (optional)</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Pre-production</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Studio</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Talent</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Director</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Post-production</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " QA</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " PM</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Mix##</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Additional voices ($450 per voice)##</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " <strong>VOICE-OVER FEES by deliverable (PICK ONE)</strong></td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " <strong>Subtotal VO</strong></td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " <strong>Languages Group</strong></td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " <strong># of Langs</strong></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " <strong>Cost</strong></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Voice-over only *</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #Tier 1 Langs</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Voice-over only</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #Tier 2 Langs, etc.</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Voice-over mixed **</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Voice-over only, time limitations</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Voice-over mixed, time limitations</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Low-cost - Voice-over only ***</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\" nowrap=\"\" style=\"vertical-align: top;\"><br>\n" + " Low-cost - Voice-over mixed</td>\n\n" + " <td width=\"84\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " $</td>\n\n" + " <td width=\"144\" style=\"vertical-align: top;\" colspan=\"2\"><br>\n" + " #</td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br>\n" + " #</td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"469\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"5\"><br></td>\n\n" + " <td width=\"72\" style=\"vertical-align: top;\"><br></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"541\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"6\"><br>\n" + " <strong>Subtotal Audio - All Langs</strong></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"541\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"6\"><br>\n" + " <strong>Rush Additional (##%)</strong></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"541\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"6\"><br>\n" + " <strong>Special Discount (##%)</strong></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"541\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"6\"><br>\n" + " <strong>TOTAL AUDIO COST - ALL LANGUAGES</strong></td>\n\n" + " <td width=\"84\" style=\"vertical-align: top;\"><br>\n" + " $</td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"625\" nowrap=\"\" style=\"vertical-align: top;\" colspan=\"7\"><br>\n" + " <em>* Standard audio file deliverables for all options are WAV, AIFF or MP3. Standard specs are 44 KHz MONO. Specify other format/compression.</em><br>\n" + " <em>** \"Mixed\" means that we'll adjust the voice audio levels so that it works with music or sound effects.</em><br>\n" + " <em>*** Low-cost options include non-professional voices or generated voices. You get clear, native voices, and accurate file renaming.You do NOT get voice\n" + " selection, audio cleaning, or QA (therefore no 100% fidelity to the script). Any mistakes made in the recording stay as is.</em></td>\n" + "</tr>\n\n" + "<tr>\n" + " <td width=\"241\"></td>\n\n" + " <td width=\"30\"></td>\n\n" + " <td width=\"54\"></td>\n\n" + " <td width=\"30\"></td>\n\n" + " <td width=\"114\"></td>\n\n" + " <td width=\"72\"></td>\n\n" + " <td width=\"84\"></td>\n" + "</tr>\n" + "</tbody></table>\n" + "</div><br />\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"628\">\n" + " <tr>\n" + " <td colspan=\"4\" nowrap style=\"vertical-align: bottom;\" width=\"628\"><br />\n" + " <strong>TRANSLATION COSTS</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br /></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br />\n" + " <strong>Language</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br />\n" + " <strong>Translation</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br />\n" + " <strong>Translation Timing</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>Language Total Cost</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br />\n" + " ##Lang</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " ##$</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br />\n" + " ##Lang</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " ##$</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br />\n" + " ##Lang</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " ##$</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br />\n" + " ##Lang</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br />\n" + " ##$</td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " ##$</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"264\"><br /></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"108\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"138\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td colspan=\"3\" nowrap style=\"vertical-align: top;\" width=\"510\"><br />\n" + " <strong>TOTAL TRANSLATION COST</strong></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"118\"><br />\n" + " <strong>##$</strong></td>\n" + " </tr>\n" + " </table>\n" + "</div>\n" + "<br />\n" + "<br />\n\n" + "<div style=\"text-align: center\">\n" + " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" class=\"audioTmplTable\" width=\"625\">\n" + " <tr>\n" + " <td colspan=\"6\" nowrap style=\"vertical-align: top;\" width=\"625\"><br />\n" + " <strong>PROJECT AGREEMENT</strong></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br /></td>\n\n" + " <td colspan=\"2\" nowrap style=\"vertical-align: top;\" width=\"162\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n\n" + " <td style=\"vertical-align: top;\" width=\"114\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " <strong>Client information</strong></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"126\"><br />\n" + " <strong>Billing Information</strong></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " Company name:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " Contact name:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " Address:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " Title:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " Accepted by - Name:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " E-mail:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " Title:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " Phone number:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " E-mail:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " Recipients to cc when sending invoice:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br />\n" + " Date:</td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " Project Number #:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br /></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br />\n" + " PO #:</td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td nowrap style=\"vertical-align: top;\" width=\"133\"><br /></td>\n\n" + " <td nowrap style=\"vertical-align: top;\" width=\"150\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: bottom;\" width=\"126\"><br /></td>\n\n" + " <td colspan=\"2\" style=\"vertical-align: top;\" width=\"216\"><br /></td>\n" + " </tr>\n\n" + " <tr>\n" + " <td colspan=\"6\" nowrap style=\"vertical-align: top;\" width=\"625\"><br />\n" + " <strong>This estimate is valid for 45 days.</strong><br />\n" + " <strong>Payment Terms<br />\n" + " New Clients:</strong> 50% down payment to start work - 50% COD.<br />\n" + " <strong>Existing Clients:</strong> Projects under $30,000 - payment 30 days from invoice.<br />\n" + " Projects over $30,000 - 50% down payment to start work, 50% balance 30 days from invoice.<br />\n" + " Past due invoices are charged 2% per month.<br />\n" + " <br />\n" + " <strong>Payment Methods</strong><br />\n" + " Intuit Online Payment (Recommended, free of charge and fast) or Intuit Credit card, 4% charged.<br />\n" + " Wire transfer. US Check.<strong><br /></strong>Paypal, by eCheck.<br />\n" + " Paypal, regular - 4% surcharge.</td>\n" + " </tr>\n\n" + " <tr>\n" + " <td width=\"133\"></td>\n\n" + " <td width=\"150\"></td>\n\n" + " <td width=\"12\"></td>\n\n" + " <td width=\"114\"></td>\n\n" + " <td width=\"102\"></td>\n\n" + " <td width=\"114\"></td>\n" + " </tr>\n" + " </table>\n" + "</div><br />\n" + "</div>\n" + "</body>\n" + "</html>\n"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); if (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