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

/
/
gm

Test String

Code Generator

Generated Code

const regex = /(Semno_h)\b\s+(\w{50})/gm; // Alternative syntax using RegExp constructor // const regex = new RegExp('(Semno_h)\\b\\s+(\\w{50})', 'gm') const str = `CLUSTAL X (1.81) multiple sequence alignment Maca_ma TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_tonke TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Maca_ni TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_orchr TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_nemes TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_silen TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_siber TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCTACGATGAC M_fusca TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_mulat TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_cyclo TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_fasci TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_arcto TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_thibe TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_sylva TGTG-TCTCACCATCT-TCCTACTCTCCACCACACTGAGCCCACGATGAC P_anubi TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC P_hamad TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Papi_Pa TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC L_albig TGTG-TCTCACCATCT-TCCTACTCTCCACTACCCTGAGCCCACGATGAC L_aterr TGTG-TCTCACCATCT-TCCTACTCTCCACTACCCTGAGCCCACGATGAC Tupa_ge TGTG-TCTCACCATCT-TCCTACTCTCCACTACCCTGAGCCCACGATGAC Cb_agil TGTG-CCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_chrys TGTG-CCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_torqu TGTG-CCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_leuco TGTG-CCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_sphin TGTG-CCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_albog TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC cercop_ ?????????????????????????????????????????????????? C_ascan TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Cerc_ce TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_petau TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Cercop_ TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_wolfi TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACAATGAC Cercop_ TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_negle TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_hamly TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC M_ogoue TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_aethi TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_sabae TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC C_cynos TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Cer_lho TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC Erythro TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAGCCCACGATGAC A_nigro TGTG-TCTCACCATCT-TCCCACTCTCCACTACACTGAGCCCACGATGAC Tupa_ob TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Tupa_ph TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Tupa_au TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Tupa_de TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Tupa_fr ?????????????????????????????????????????????????? Tupa_ha TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC S_entel CGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCTATGATGAC Semno_h CGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCTATGATGAC S_entel TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Tupa_ve TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC P_ciner TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC P_nemae TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC P_nigri TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Nasalis TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Rhinopi TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Presb_c TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC P_melal TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Cb_guer TGTG-TCTCCCCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Cb_poly TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC Cb_ango TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGATGAC PilioCb TGTG-TCTCACCATCT-TTCTACTCGCCACTACACTGAGCCCATGAT-AC hylo_ag TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT hylo_mu TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT hyloba_ TGTG-TCKCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT Symphal TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAC Nomas_l TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT Nomas_s TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT Nomas_c TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT Nomas_g TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACCATGAT Ptroglo TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACAATGAC P_trogl TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACAATGAC Pan_pan TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACAATGAC Homo_sa TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACAATGAC Gorilla TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACAATGAC png_abe TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACGATGAC png_pyg TGTG-TCTCACCATCT-TCCTACTCTCCACTACACTGAACCCACGATGAC Ca_jacc CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Ca_peni CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Ca_geof CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Ca_kuhl CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Ca_auri ?????????????????????????????????????????????????? Mico_ar CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Mico_hu CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Cebuell CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC C_goeld TATG-TCTCTGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC L_chrys TGCG-TCTCAGCATCC-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC L_rosal TGCG-TCTCAGCATCC-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC S_bicol TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_marti TGTG-TCTCAGCCTCTATCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_midas TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_geoff TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_oedip TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_labia TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_mysta TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_imper TGTG-TCTCAGCATCT-TCCTGCTCTCCACCATACTGAGCCCAAGATGAC S_fusci TGTG-TCTCAGCATCT-TCCTGCTCTCYACCATACTGAGCCCAAGATGAC A_azar_ TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC A_azar_ TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Aot_aza TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC A_nancy TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGTGCCCAAGATGAC A_Linus ?????????????????????????????????????????????????? A_trivi ?????????????????????????????????????????????????? C_robus ?????????AGCA-TT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC C_xanth TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Cebs_ap TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC C_capuc TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC C_albif TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC C_oliva TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC S_oerst ?????????AGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC S_sciur TGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCCCAAGATGAC Saim_us ?????????????????????????????????????????????????? S_boliv ?????????????????????????????????????????????????? A_belze TGTG-TMTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC A_geoff ?????????????????????????????????????????????????? A_hybri TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC A_fusci TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC Atel_ch TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC A_panis TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC B_arach TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC B_hypox CGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACTGAGCCCACCATGAC Lagot_c TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACCGAGCCCACCATGAC L_lagot TGTG-TCTCAGAATCT-TCCTGCTCTCCACCACACCGAGCCCACCATGAC A_belze CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCACACAATGAT Alouat_ CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCACACGATGAT Alout_S CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCACACGATGAT A_palli CGTG-TCTCAGCATCT-TCCTGCTCTCCACCACACTGAGCGCACGTTGAT C_brunn ?????????????????????????????????????????????????? Callic_ TGTG-TCTTAGTATCT-TCCTGCTCTCCACCACACTGAGCCCACGATGAC C_cupre TGTG-TCTTAGTATCT-TCCTGCTCTCCACCACACTGAGCCCACGATGAC C_calig TGTG-TCTTAGTATCT-TCCTGCTCTCCACCACACTGAGCCCACGATGAC C_donac TGTG-TCTTAGTATCT-TCCTGCTCTCCACCACACTGAGCCCACGATGAC C_coimb TGTG-TCTTAGTATCT-TCCTGCTCTCCACCATACTGAGCCCACGATGAC C_perso TGTG-TCTCAGTATCT--CCTGCT-CTCACCATACTGAGCCCACGATGAC C_nigri ?????????????????????????????????????????????????? C_melan TGTG-TCTCAGCATCT-TCCTGCTCCCCACCACACTGAGCCCAAGATGAC Cacaj_c TGTG-TCTCAGCATCT-TCCTGCTCCCCACCACACTGAGCCCACGATGAC C_israe TGTG-TCTCAGCATCT-TCCTGCTCCCCACCACACTGAGCCCACGATGAC C_satan TGTG-TCTCAGCATCT-TCCTGCTCCCCACCACACTGAGCCCACGATGAC P_irror TGTG-TCTCAGCAT-T-TCCTGCTCCCCACCACACTGAGCCCACGATGAC Papi_Pa TGTG-TCTCAGCATCT-TCCTGCTCCCCACCACACTGAGCCCACGATGAC Tupa_ba CAT--CCTCAATGTCT-TTCTATTCTCTACCACGCTGAGCCCAGGATAAC Tupa_sy GAT--CCTCAATGTCT-TTCTATTCTCCACCACGCTGAGCCCAGGATAAC L_ankar TATG-TCCCAACATTT-TCTTATTCTCCACCGC--TGAGCYCARGATGAT L_septe TATG-TCCCAACATTT-TCTTATTCTCCACCGC--TGAGCYCAGGATGAT L_dorsa TATG-TCCCAACATTT-TCTTATTCTCCACCGC--TGAGCCCAGGATGAT L_rufic TATG-TCCCAACATCT-CCTTATTTTCCACCGC--TGAGCCCAGGATGAT Lepi_ja TATG-TCCCATCATTT-TCTTATTCTCCACTGC--TGAGCCCAGGATGAT Microce -ATA-TCCCAACATTT-ACTTATTCTCCACCAC--TAAGCCCAGGATGAC Microce ?????????????????????????????????????????????????? Mirza_z TATA-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC Chei_me -ATGTCCCCAACATCT----CATTCTCCACCAC--TGAGCCCAGGATGAC P_ver_c ?????????????????????????????????????????????????? P_verre TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGYCTGGGATGAC P_tatte TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCTGGGATGAC P_diade TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC P_edwar TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC Avahi_l TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC Eulem_r TATG-TCCCAAYATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC E_colla TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC Eul_ful TAKG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCGGGGATGAC E_albif TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCSGGGATGAC E_sanfo TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCGGGGATGAC Eul_Mon TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC Eul_mac TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC EuMac_f TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TTAGCCCGGGATGAC E_coron TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC E_rubri TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCGGGATGAC H_occid TATG-TCCCAAAAACT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC H_grise TATG-TCCCAAAAACT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC L_catta TATG-TCCCAACAACT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC Vv_vari TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC Vv_rubr TATG-TCCCAACATCT-CCTTATTCTCCACCAC--TGAGCCCAGGATGAC Daubent ?????????????????????????????????????????????????? N_benga TATG-TCTCCACAGCT--CCTATTCTCTACCACAGTAAGCCCA------- N_couca TATG-TCTCCACAGCT--CCTATTCTCTACCACAGTAAGCCCA------- N_pygma TGTG-TCTCACCATCT-TCCTACTCTCCACTGCACTGAACCCACAATGAC L_tardi ?????????????????????????????????????????????????? ArctoC_ TGTG-TCTCCCCATCT--CCTATTCTC---------TAACACACTAAGCC Perodic TATG-TCTCCACATCT--CCCATTCTCTAACACACTAAGCCCA------- O_garne ?????????????????????????????????????????????????? O_crass TATG-TCTCCACACCT--CCTATTCTCTACCACAATAAGCCCA------- G_Galag ?????????????????????????????????????????????????? G_seneg ?????????????????????????????????????????????????? G_thoma TATG-TCTCCACACCT--CCTATTCTCTACCACACTAAGCCCA------- Galeopt ?????????????????????????????????????????????????? Cynocep ?????????????????????????????????????????????????? Tupa_gl ?????????????????????????????????????????????????? Tupa_mi ?????????????????????????????????????????????????? rabbitr ?????????????????????????????????????????????????? `; // Reset `lastIndex` if this regex is defined globally // regex.lastIndex = 0; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }

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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions