Regular Expressions 101

Save & Share

  • Regex Version: ver. 3
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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
No Match

r"
"
gm

Test String

Code Generator

Generated Code

re = /(?sm)^\d\d?[.] {3,7}(.*?)(?=\n\n\d\d?\. |\Z)/m str = 'INTERNATIONAL MONETARY FUND 7 BELGIUM POLICY DISCUSSIONS—MAINTAINING THE REFORM MOMENTUM 7. The current recovery is an opportunity to strengthen the resilience and growth potential of the Belgian economy. The government\'s ability to deal with future shocks will depend on whether it implements the right policies now while the economy continues to recover.  First, with public debt above 100 percent of GDP and only starting to come down, Belgium still has a long way to go to rebuild buffers and achieve a more sustainable fiscal position. This will require following through on plans to gradually move toward structural balance.  Second, with real GDP growth projected at only around 1½ percent for the foreseeable future, further labor and product market reforms are needed to increase productivity growth, raise potential output, and integrate vulnerable groups into the labor market.  Third, although the financial sector has recovered since the crisis and is generally sound, cyclical vulnerabilities are rising and new challenges are emerging, suggesting the need for vigilance and proactive policies.3 8. The government agreed last summer on a new package of measures related to taxation, the labor market, and social benefits (Table 2 and Box 1). The most notable reform was a reduction in Belgium\'s corporate income tax (CIT) rate from 34 percent to 25 percent, to be phased in over the next three years (SMEs will benefit from a reduced rate of 20 percent starting in 2018). To compensate for the resulting revenue loss, the notional interest rate deduction (NID) was modified to apply only to incremental corporate equity rather than to the total stock, and new anti- tax avoidance measures were introduced consistent with Belgium\'s EU obligations.4 Together, the measures are designed to enhance Belgium\'s competitiveness while preserving revenue neutrality. 9. Policy discussions focused on the importance of maintaining the reform momentum and not yielding to complacency. Achieving the balanced budget goal will require efforts at all levels of government to make spending more efficient and safeguard revenues (Section A). A combination of policies and reforms could help raise productivity growth, including increasing investment in infrastructure and enhancing competition in services (Section B). To fully realize Belgium\'s employment potential, it will be critical to address the severe fragmentation of the labor market (Section C). To preserve financial stability, the authorities should address vulnerabilities in the mortgage market and carefully navigate the transition toward a European Banking Union (Section D). 3 A comprehensive assessment of Belgium\'s financial sector took place in 2017 under the Financial Sector Assessment Program (FSAP). 4 The NID aims to neutralize the CIT treatment of debt and equity by supplementing the deductibility of interest with a deduction that is the product of corporate equity and a notional interest rate. 8' # Print the match result str.scan(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