Regular Expressions 101

Save & Share

  • Regex Version: ver. 2
  • 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

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"(?P<bullet>\d{1,2}\.(?:[\s\S](?![a-z]\.))+\\n)|(?P<letter>(?<=\\n)[a-z]\.(?:[\s\S](?!\-))+\\n)|(?P<dash>(?<=\\n)\-(?:[\s\S](?!\d{1,2}\.))+?\\n)" test_str = ("\"Opening: To achieve our vision of creating a diverse and engaging collection of board games, we will focus on the following strategic components:\\nStructure: Each component is designed to meet specific gameplay requirements:\\nTerminology: Components, strategy, gameplay requirements, design. Each sub-objective should be a more detailed and focused component of its parent objective, contributing to achieving the parent goal.\\n1. Develop a Comprehensive Game Library:\\na. Acquire games from Catan, Ticket to Ride, Pandemic, Codenames, and Azul to enrich the game library.\\n- Utilize publicly available resources provided by Catan, Ticket to Ride, Pandemic, Codenames, and Azul to strategically select games.\\n- Store acquired games in a organized format such as a database or inventory system for efficient retrieval and analysis.\\n2. Implement Star Trek Theme Integration:\\na. Leverage Star Trek themes and elements to enhance the gaming experience and attract fans of the franchise.\\n- Utilize open-source Star Trek assets such as images, quotes, and lore to incorporate into game components and designs.\\n- Use creative storytelling techniques to weave Star Trek narratives into the gameplay and objectives of selected games.\\n3. Enhance Player Engagement and Interaction:\\na. Incorporate real-time monitoring of player feedback and preferences to continuously update the game library.\\n- Utilize player surveys and open-source forums to gather up-to-date information on emerging trends and popular mechanics.\\n- Implement social media scraping techniques to extract relevant player insights from publicly available sources and discussions.\\n4. Establish Optimal Game Selection Strategies:\\na. Employ data analysis and player profiling algorithms to develop optimal game selection strategies for different player groups.\\n- Utilize data analysis to identify patterns in player preferences and behaviors based on demographics and gaming history.\\n- Implement player profiling strategies to anticipate and cater to the diverse interests and skill levels of different player segments.\\n5. Perform Game Session Analysis:\\na. Develop algorithms to analyze game sessions and identify potential areas for improvement in game balance, pacing, and player satisfaction.\\n- Utilize graph theory and network analysis tools to model player interactions and identify critical points in the game flow.\\n- Integrate data from playtesting sessions to profile and understand the progression of game sessions, enabling proactive game refinement strategies.\\nEach of these sub-objectives contributes to the overarching goal of creating a diverse and engaging collection of board games that caters to different player preferences. These specific tasks align with the project\\'s purpose of leveraging advanced techniques such as data analysis, player profiling, and Star Trek theme integration to achieve a comprehensive and satisfying board gaming experience for all players.\"\n\n") matches = re.finditer(regex, test_str, re.MULTILINE) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html