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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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

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

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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html