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

/
/
g

Test String

Code Generator

Generated Code

$re = '/<\/[^>]>[\s]*(<div [^>]* ((?!o-block).)*><iframe[^>]*>(?:.|\n)*?<\/iframe><\/div>)/'; $str = '<p>Цей єврокубковий тиждень, як і загалом перше коло групових раундів, видався вдалим для українських клубів. І &laquo;Шахтар&raquo;, і &laquo;Динамо&raquo;, і &laquo;Зоря&raquo; (на що мало хто й сподівався) мають доволі пристойні шанси на вихід зі своїх груп.</p> <p><strong>Ліга чемпіонів. Груповий раунд.&nbsp;Група &laquo;F&raquo;. </strong><strong>3 тур. </strong></p> <p><strong>&laquo;Фейєноорд&raquo; (Роттердам, Нідерланди) &ndash; &laquo;Шахтар&raquo; (Донецьк, Україна) &ndash; 1:2 </strong>(<strong>1:0 </strong>&ndash; Стевен Бергейс, 7 хв.; <strong>1:1 </strong>&ndash; Бернард, 24 хв.;&nbsp;<strong>1:2 </strong>&ndash; Бернард, 54 хв.)</p> <p><em>17 жовтня. Роттердам (Нідерланди). Стадіон &laquo;Фейєноорд &ndash; Де Кейп&raquo;. Головний суддя Альберто Ундіано Мальєнко(Памплона, Іспанія).</em></p> <p>&laquo;Шахтар&raquo; пропустив уже в дебюті поєдинку з аутсайдером групи. Андрій&nbsp;П&#39;ятов зумів парирувати дальній удар, проти був безсилий проти добивання.&nbsp;Щоправда, підопічні Паулу Фонсеки швидко оговталися, і вже в середині першого тайму зрівняли рахунок &ndash; відзначився Бернард.</p> <blockquote> <p><strong>Несолодко &laquo;Шахтарю&raquo; велося, починаючи з 75-ї хвилини. Ярослав Ракицький одержав другого &laquo;гірчичника&raquo; і залишив своїх партнерів удесятьох.</strong></p> </blockquote> <p>Після перерви бразилець робить дубль і виводить &laquo;гірників&raquo; уперед.</p> <p>Справді, несолодко &laquo;Шахтарю&raquo; велося, починаючи з 75-ї хвилини. Ярослав Ракицький одержав другого &laquo;гірчичника&raquo; і залишив своїх партнерів удесятьох.</p> <p>Проте вистояли! Друга перемога українського клубу в трьох матчах!</p> <p><strong>Дивимось найцікавіші фрагменти гри &ndash;&nbsp;https://www.youtube.com/watch?v=ng8loYYcxT0:</strong></p> <div class="embed-responsive embed-responsive-16by9 oembed-provider- oembed-provider-youtube" data-align="none" data-oembed="https://www.youtube.com/watch?v=ng8loYYcxT0" data-oembed_provider="youtube" data-resizetype="noresize"><iframe allowfullscreen="true" allowscriptaccess="always" frameborder="0" height="349" scrolling="no" src="//www.youtube.com/embed/ng8loYYcxT0?wmode=transparent&amp;jqoemcache=7hgN9" width="425"></iframe></div> <div class="o-block"> <div class="embed-responsive embed-responsive-16by9 oembed-provider- oembed-provider-youtube" data-align="none" data-oembed="https://www.youtube.com/watch?v=ng8loYYcxT0" data-oembed_provider="youtube" data-resizetype="noresize"><iframe allowfullscreen="true" allowscriptaccess="always" frameborder="0" height="349" scrolling="no" src="//www.youtube.com/embed/ng8loYYcxT0?wmode=transparent&amp;jqoemcache=7hgN9" width="425"></iframe></div> </div> <p><strong><em>В іншому матчі групи &laquo;F&raquo; англійський &laquo;Манчестер Сіті&raquo; переграв </em></strong><strong><em>переграв&nbsp;</em></strong><strong><em>італійський &laquo;Наполі&raquo; &ndash; 2:1.</em></strong></p> <div class="table-wrap"><span class="table-caption">Турнірна таблиця групи «F»:</span><div class="table-responsive"><table border="0" cellpadding="0" cellspacing="0" style="width: 100%;"> <caption>Турнірна таблиця групи «F»:</caption> <tbody> <tr> <td>№</td> <td>Команда</td> <td>І</td> <td>В</td> <td>Н</td> <td>П</td> <td>З:П</td> <td>О</td> </tr> <tr> <td>1.</td> <td>«Манчестер Сіті»&nbsp; (Англія)</td> <td>3</td> <td>3</td> <td>0</td> <td>0</td> <td>8:1</td> <td>9</td> </tr> <tr> <td>2.</td> <td><strong>«ШАХТАР» (Україна)&nbsp;</strong></td> <td>3</td> <td>2</td> <td>0</td> <td>1</td> <td>4:4</td> <td>6</td> </tr> <tr> <td>3.</td> <td>«Наполі» (Італія)&nbsp;</td> <td>3</td> <td>1</td> <td>0</td> <td>2</td> <td>5:5</td> <td>3</td> </tr> <tr> <td>4.</td> <td>«Фейєноорд» (Нідерланди)&nbsp;</td> <td>3</td> <td>0</td> <td>0</td> <td>3</td> <td>2:9</td> <td>0.</td> </tr> </tbody> </table></div></div> <p><strong>ЗА ВОРОТАМИ</strong></p> <figure> <p><img data-description="" src="https://volyn-new.ideil.com/content/thumbs/glsgm2/800x/0x0-700x400/42/5m/425mjcqzctopdzqhs5fxancn7xbicgxd.jpg" /></p> <p><em>&laquo;Ми до останньої секунди віддавалися по максимуму і добилися успіху&raquo;.</em></p> <p><strong style="background-color: rgb(255, 255, 255);">Паулу ФОНСЕКА, головний тренер &laquo;Шахтаря&raquo;:&nbsp;</strong></p> <p><em>&laquo;Фейєноорд&raquo; був міцним у перші десять хвилин і зміг забити. Після цього ми&nbsp;взяли гру в свої руки і стали домінувати,практично весь час намагалися проводити з м&rsquo;ячем. Так тривало до вилучення Ракицького. Дуже важко бути в меншості,проте ми створили пару гольових моментів. У принципі,&nbsp;як і опонент. Без сумнівів, рахунок міг виявитися і нічийним, проте ми до останньої секунди віддавалися по максимуму і добилися успіху&raquo;.</em></p> <p><strong>Наступний поєдинок &ndash; 1 листопада у Харкові &ndash; &laquo;Шахтар&raquo; зіграє також із &laquo;Фейєноордом&raquo;.</strong></p> </figure> <p><strong>Ліга Європи. Груповий раунд. Група &laquo;J&raquo;. </strong><strong>3 тур. </strong></p> <p><strong>&laquo;Зоря&raquo; (Луганськ, Україна) &ndash; &laquo;Герта&raquo; (Берлін, Німеччина) &ndash; 2:1 </strong>(<strong>1:0 </strong>&ndash; Сілас, 42 хв.; <strong>1:1 </strong>&ndash; Деві</p> <p>Зельке, 56 хв.; <strong>2:1 </strong>&ndash; Олександр Сваток, 79 хв.)</p> <p><em>19 жовтня. Львів. Стадіон &laquo;Арена Львів&raquo;. Головний суддя Ліран Ліані</em></p> <p><em>(Ізраїль).</em></p> <p>Наприкінці минулого сезону, так само, як і на початку нинішнього, луганчани&nbsp;були відверто &laquo;ніякими&raquo;. Команда нагадувала такий собі &laquo;здутий м&rsquo;ячик&raquo;, а до&nbsp;відставки Юрія Вернидуба, як багатьом здавалося, лишалося одна &ndash; дві невдачі.</p> <p>Проте потім була виїзна перемога над &laquo;Атлетіком&raquo; із Більбао, а за кілька днів&nbsp;після неї &ndash; фантастична супервольова нічия 4:4 у матчі з київським &laquo;Динамо&raquo;.</p> <blockquote> <p><strong>До&nbsp;відставки Юрія Вернидуба, як багатьом здавалося, лишалося одна &ndash; дві невдачі.</strong></p> </blockquote> <p>А тепер підопічні Юрія Вернидуба здобувають другу поспіль перемогу в Лізі&nbsp;Європи і зміцнюють своє друге місце в групі!</p> <p>Вочевидь, тренерові таки вдалося повернути свою команду &laquo;до тями&raquo;. І після&nbsp;&laquo;першого кола&raquo; &laquo;Зоря&raquo; має хороші шанси на вихід із групи.</p> <p>Варто також відзначити, що трибуни &laquo;Арени Львів&raquo; на матчі з &laquo;Гертою&raquo; порожніми аж ніяк не були (прийшли понад 10 000 уболівальників). Ну а коли Олександр Сваток (який, до речі, має й досвід виступів за луцьку &laquo;Волинь&raquo;) п&rsquo;ятою забив переможний диво-гол, львівська публіка&nbsp;так навіжено раділа, що &laquo;Карпатам&raquo;, певно, стало трохи сумно&hellip;</p> <p>А якщо луганчани демонструватимуть такий футбол і надалі, то на поєдинок останнього туру &ndash; 7 грудня з &laquo;Атлетіком&raquo; (який, дуже ймовірно, буде вирішальним) &ndash; може й аншлаг зібратися!</p> <p><strong>Дивимось, як це було &ndash;&nbsp;https://www.youtube.com/watch?v=IPISc6Zc8CM :</strong></p> <div class="embed-responsive embed-responsive-16by9 oembed-provider- oembed-provider-youtube" data-align="none" data-oembed="https://www.youtube.com/watch?v=IPISc6Zc8CM" data-oembed_provider="youtube" data-resizetype="noresize"><iframe allowfullscreen="true" allowscriptaccess="always" frameborder="0" height="349" scrolling="no" src="//www.youtube.com/embed/IPISc6Zc8CM?wmode=transparent&amp;jqoemcache=wHBPf" width="425"></iframe></div> <p><strong><em>У паралельному матчі групи &laquo;J&raquo; шведський &laquo;Естерсунд&raquo; та іспанський&nbsp;</em></strong><strong><em>&laquo;Атлетік&raquo; зіграли внічию &ndash; 2:2.</em></strong></p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%;"> <caption>Турнірна таблиця групи &laquo;J&raquo;:</caption> <tbody> <tr> <td>№</td> <td>Команда</td> <td>І</td> <td>В</td> <td>Н</td> <td>П</td> <td>З:П</td> <td>О</td> </tr> <tr> <td>1.</td> <td>&laquo;Естерсунд&raquo; (Швеція)</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td> <td>5:2</td> <td>7</td> </tr> <tr> <td>2.</td> <td><strong>&laquo;ЗОРЯ&raquo; (Україна)</strong></td> <td>3</td> <td>2</td> <td>0</td> <td>1</td> <td>3:3</td> <td>6</td> </tr> <tr> <td>3.</td> <td>&laquo;Атлетік&raquo; (Іспанія)</td> <td>3</td> <td>0</td> <td>2</td> <td>1</td> <td>2:3</td> <td>2</td> </tr> <tr> <td>4.</td> <td>&laquo;Герта&raquo; (Німеччина)</td> <td>3</td> <td>0</td> <td>1</td> <td>2</td> <td>1:3</td> <td>1</td> </tr> </tbody> </table> <p><strong>ЗА ВОРОТАМИ</strong><img data-description="" src="https://volyn-new.ideil.com/content/thumbs/qfsovd/800x/0x0-750x500/g4/m7/g4m77gys24ppvz2ur6izfrolzli5lw5u.jpg" /></p> <figure> <p><em>&laquo;Хотів сам подякувати вболівальникам у Львові, які нас так підтримували&raquo;. </em></p> <p><strong>Юрій ВЕРНИДУБ, головний тренер &laquo;Зорі&raquo;:</strong></p> <p><em>&laquo;Хороша гра. &laquo;Герта&raquo; &ndash; серйозна команда. Ми на початку матчу віддали їм перевагу &ndash; це був наш план. Не скажу, що у суперника було багато моментів, але ми захищалися.</em></p> <p><em>Після 20-ї хвилини почали високий пресинг і не давали суперникам розігрувати м&rsquo;яч. Захопили перевагу і заробили штрафний, який реалізував Сілас.</em></p> <p><em>Другий тайм повністю увійшов нам в актив, крім гола Зельке. Хлопці добре&nbsp;розбіглися, багато створили небезпечних моментів.&nbsp;Хотів сам подякувати вболівальникам у Львові, які нас так підтримували. Якщо на &laquo;Атлетік&raquo; прийде ще більше, ми постараємося їм віддячити своєю&nbsp;грою&raquo;.</em></p> <p><strong>Наступну зустріч 2 листопада у Берліні &laquo;Зоря&raquo; також проведе з&nbsp;&laquo;Гертою&raquo;.</strong></p> <p>&nbsp;</p> <p><strong>Ліга Європи. Груповий раунд. Група &laquo;B&raquo;. </strong></p> <p><strong>&laquo;Динамо&raquo; (Київ, Україна) &ndash; &laquo;Янг&nbsp;Бойз&raquo; (Берн, Швейцарія) &ndash; 2:2 </strong>(<strong>0:1 </strong>&ndash; Рожер Ассале, 17 хв.; <strong>1:1 </strong>&ndash; Дьємерсі&nbsp;Мбокані, 34 хв.; <strong>1:2 </strong>&ndash; Рожер Ассале, 39 хв.; <strong>2:2 </strong>&ndash; Микола Морозюк, 49 хв.)</p> <p><em>19 жовтня. Київ. Стадіон НСК &laquo;Олімпійський&raquo;. Головний суддя Маттіас&nbsp;Гестраніус (Фінляндія).&nbsp;</em>Вочевидь, київське &laquo;Динамо&raquo; уклало таємний контракт із виробниками валідолу і своїми виступами в Лізі Європи (і не тільки) сумлінно його &laquo;відпрацьовує&raquo;.</p> <figcaption><span style="background-color: rgb(255, 255, 255);">Після двох вольових перемог над &laquo;Скендербеу&raquo; та &laquo;Партизаном&raquo; кияни двічі&nbsp;відігрувалися в матчі зі своїм нещодавнім лютим кривдником &ndash; швейцарським клубом &laquo;Янг Бойз&raquo;, який закрив перед нами двері в Лігу чемпіонів, хоч і сам туди не потрапив. І це на самісінький день народження Олександра Хацкевича, якому &laquo;стукнуло&raquo; 44!</span></figcaption> </figure> <blockquote> <p><strong>&laquo;Динамо&raquo; уклало таємний контракт із виробниками валідолу і своїми виступами в Лізі Європи (і не тільки) сумлінно його &laquo;відпрацьовує&raquo;.</strong></p> </blockquote> <p>Програючи після першого тайму 1:2, кияни вдруге зрівняли рахунок відразу&nbsp;після перерви. Красень-гол зі штрафного вдався Миколі Морозюку. Олег Лужний на тренерській лаві аж розсміявся: мовляв, ти дивись &ndash; знову подіяла &laquo;виховна робота&raquo; у перерві!</p> <p>Далі динамівці мали достатньо шансів вирвати й третю поспіль вольову перемогу. Один лише Жуніор Мораес мав відразу кілька нагод. Особливо запам&rsquo;ятався його вбивчий удар у падінні &laquo;ножицями&raquo; з кількох метрів! Голкіпер швейцарців зі шляхетним прізвищем Давид фон Бальмос уже&nbsp;був безсилим. Проте постріл бразильця прийняла на себе &ndash; вибачайте &ndash; дупа одного із захисників!</p> <figure> <p><img data-description="" src="https://volyn-new.ideil.com/content/thumbs/yvtk4k/800x/0x0-557x334/4h/bv/4hbv2hdsguhymqgyscqsmw4hpm7jhlkj.jpeg" /></p> <p><em>Гармаш &ndash; Віді: &laquo;Друже Домагою, покажи-но &ndash; хто це тебе так!&raquo;</em></p> <figcaption><img data-description="" src="https://volyn-new.ideil.com/content/thumbs/mvu64j/800x/0x-1-3414x2276/sb/fs/sbfsbyk2gjw337hvkqj7lzxssst3b64a.jpg" /></figcaption> </figure> <figure> <p><span style="background-color: rgb(255, 255, 255);">Далі була у прямому розумінні кривава травма Домагоя Віди (після зіткнення&nbsp;головами із суперником хорват мусив залишити поле). А ще раніше травмувався й Сергій Сидорчук (напередодні недільного&nbsp;поєдинку із &laquo;Шахтарем&raquo; це, звісно, неабияк непокоїть). Згодом було вилучення у швейцарців, проте дотиснути &laquo;Янг Бойз&raquo; кияни таки не змогли.</span></p> <p>Попри все, по-футбольному це був справді захопливий поєдинок. А сім очок&nbsp;&laquo;Динамо&raquo; з дев&rsquo;яти можливих дають надію навіть на достроковий вихід киян із&nbsp;групи.</p> <p><strong>Дивимось найцікавіші фрагменти цього матчу &ndash;&nbsp;https://www.youtube.com/watch?v=HrSgwxLqzS8 :</strong></p> <div class="embed-responsive embed-responsive-16by9 oembed-provider- oembed-provider-youtube" data-align="none" data-oembed="https://www.youtube.com/watch?v=HrSgwxLqzS8" data-oembed_provider="youtube" data-resizetype="noresize"><iframe allowfullscreen="true" allowscriptaccess="always" frameborder="0" height="349" scrolling="no" src="//www.youtube.com/embed/HrSgwxLqzS8?wmode=transparent&amp;jqoemcache=Obr7Z" width="425"></iframe></div> <p><strong>Дивимось найцікавіші фрагменти цього матчу &ndash;&nbsp;https://www.youtube.com/watch?v=HrSgwxLqzS8 :</strong></p> <div class="o-block"><iframe allowfullscreen="true" allowscriptaccess="always" frameborder="0" height="349" scrolling="no" src="//www.youtube.com/embed/HrSgwxLqzS8?wmode=transparent&amp;jqoemcache=Obr7Z" width="425"></iframe></div> <p>&nbsp;</p> </figure> <p><strong><em>У паралельному матчі групи &laquo;B&raquo; албанський &laquo;Скендербеу&raquo; та сербський &laquo;Партизан&raquo; зіграли внічию &ndash; 0:0.</em></strong></p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%;"> <caption>Турнірна таблиця групи &laquo;B&raquo;:</caption> <tbody> <tr> <td>№</td> <td>Команда</td> <td>І</td> <td>В</td> <td>Н</td> <td>П</td> <td>З:П</td> <td>О</td> </tr> <tr> <td>1.</td> <td><strong>&laquo;ДИНАМО&raquo; (Україна)</strong></td> <td>3</td> <td>2</td> <td>1</td> <td>0</td> <td>8:5</td> <td>7</td> </tr> <tr> <td>2.</td> <td>&laquo;Янг Бойз&raquo; (Швейцарія)</td> <td>3</td> <td>0</td> <td>3</td> <td>0</td> <td>4:4</td> <td>3</td> </tr> <tr> <td>3.</td> <td>&laquo;Скендербеу&raquo; (Албанія)</td> <td>3</td> <td>0</td> <td>2</td> <td>1</td> <td>2:4</td> <td>2</td> </tr> <tr> <td>4.</td> <td>&laquo;Партизан&raquo; (Сербія)</td> <td>3</td> <td>0</td> <td>2</td> <td>1</td> <td>3:4</td> <td>2</td> </tr> </tbody> </table> <p><strong>ЗА ВОРОТАМИ</strong><img data-description="" src="https://volyn-new.ideil.com/content/thumbs/3ut3vc/800x/0x0-1000x541/rh/ek/rhekdeo5tvm2bktvj7w53khmji2hdnyt.jpg" /></p> <p><em>&laquo;На жаль, нам дуже дорого ця нічия обійшлася&hellip;&raquo;</em></p> <p><strong>Олександр ХАЦКЕВИЧ, головний тренер &laquo;Динамо&raquo;:</strong></p> <p><em>&laquo;Може, зверху вам здалося, що було два різних тайми, хоча ми і в першому досить активно грали&hellip; Були моменти &ndash; Мбокані підвела виконавська майстерність, Гонсалес повинен був забивати. А в наші&nbsp;ворота м&rsquo;ячі залітали після рикошету і подачі зі стандартного положення&hellip;</em></p> <p><em>На жаль, нам дуже дорого ця нічия обійшлася. Хоча у плані турнірної стратегії результат досить непоганий. У Віди дуже серйозне розсічення, а Сидорчук пройде медобстеження і стане все зрозуміло&raquo;.</em></p> <p><strong>У наступному турі 2 листопада у Берні на &laquo;Динамо&raquo; чекає четверте в сезоні протистояння з &laquo;Янг Бойз&raquo;.</strong></p> '; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

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 PHP, please visit: http://php.net/manual/en/ref.pcre.php