Regular Expressions 101

Save & Share

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

/
/
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"(?<![構])成分(?:(?:亜鉛|交換|共変量|冷媒|分[子布析離]|判別|効果|化合物|単位|原子|収量|同定|含(?:有量|量)|品質|変[動化数]|強度|得点|技術|拡散|振幅|改善|方程式|材料|栄養剤|検定|概念|段階|比較?|波形|活量|流出|添加|測定|濃度|炭酸塩|物質|特[徴性]|相(?:互作用)?|石炭|移動|組成|経腸栄養|線維|置換|行列|表示?|製剤|評価|試験|調(?:合済みの|[整製])|負荷|輸(?:血(?:療法)?|送)|酵素|重合体|間隔?|関数|領域|[体値名層数群計量鎖]))?" test_str = ("成分、成分亜鉛、成分交換、成分体、成分値、成分共変量、成分冷媒、成分分子、成分分布、成分分析、成分分離、成分判別、成分効果、成分化合物、成分単位、成分原子、成分収量、成分同定、成分名、成分含有量、成分含量、成分品質、成分変動、成分変化、成分変数、成分層、成分強度、成分得点、成分技術、成分拡散、成分振幅、成分改善、成分数、成分方程式、成分材料、成分栄養剤、成分検定、成分概念、成分段階、成分比、成分比較、成分波形、成分活量、成分流出、成分添加、成分測定、成分濃度、成分炭酸塩、成分物質、成分特徴、成分特性、成分相、成分相互作用、成分石炭、成分移動、成分組成、成分経腸栄養、成分線維、成分置換、成分群、成分行列、成分表、成分表示、成分製剤、成分計、成分評価、成分試験、成分調合済みの、成分調整、成分調製、成分負荷、成分輸血、成分輸血療法、成分輸送、成分酵素、成分重合体、成分量、成分鎖、成分間、成分間隔、成分関数、成分領域\n\n" "構成分量 -- マッチしたくない\n" "構成分子 -- マッチしたくない\n" "仮の構成分は払って欲しい -- マッチしたくない\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