Regular Expressions 101

Save & Share

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

@"
"
gm

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"(^.+@2.+.$)"; string input = @"applause.mp3 approachcircle.png approachcircle@2x.png arrow-warning.png arrow-warning@2x.png button-left.png button-left@2x.png button-middle.png button-middle@2x.png button-right.png button-right@2x.png check-off.wav check-on.wav combobreak.wav combobreakorig.mp3 comboburst.png comboburst@2x.png count.wav count1.png count1@2x.png count1s.wav count2.png count2@2x.png count2@2x2.png count2s.wav count3.png count3@2x.png count3s.wav cursor-smoke.png cursor-smoke@2x.png cursor.png cursor@2x.png cursor@2xcalcifer.png cursor@2xheart.png cursor@2xsimple.png cursor@2xsimples.png cursormiddle@2x - if you want a long trail.png cursortrail.png cursortrail@2x.png cursortrail@2x1.png cursortrail@2xcalcifer.png cursortrail@2xheart.png cursortrail@2xsimple.png cursortrail@2xsimpleslong.png default-0.png default-0@2x.png default-1.png default-1@2x.png default-2.png default-2@2x.png default-3.png default-3@2x.png default-4.png default-4@2x.png default-5.png default-5@2x.png default-6.png default-6@2x.png default-7.png default-7@2x.png default-8.png default-8@2x.png default-9.png default-9@2x.png drum-hitclap.wav drum-hitfinish.wav drum-hitnormaedl.wav drum-hitnormal.wav drum-hitnormalh.wav drum-hitwhistle.wav drum-sliderslide.wav drum-slidertick.wav drum-sliderwhistle.wav fail-background.png fail-background@2x.png fail-background@2xughmyeyees.png failsound.mp3 failsound_song_for_good_computers.mp3 filelist.txt followpoint-0.png followpoint-1.png followpoint-10.png followpoint-11.png followpoint-12.png followpoint-13.png followpoint-14.png followpoint-15.png followpoint-2.png followpoint-3.png followpoint-4.png followpoint-5.png followpoint-6.png followpoint-7.png followpoint-8.png followpoint-9.png followpoint.png follows go.png go@2x.png gos.wav hit0-0.png hit0-0@2x.png hit0-1.png hit0-10.png hit0-10@2x.png hit0-11.png hit0-11@2x.png hit0-12.png hit0-12@2x.png hit0-13.png hit0-13@2x.png hit0-14.png hit0-14@2x.png hit0-15.png hit0-15@2x.png hit0-16.png hit0-16@2x.png hit0-17.png hit0-17@2x.png hit0-18.png hit0-18@2x.png hit0-19.png hit0-19@2x.png hit0-1@2x.png hit0-2.png hit0-20.png hit0-20@2x.png hit0-21.png hit0-21@2x.png hit0-22.png hit0-22@2x.png hit0-23.png hit0-23@2x.png hit0-24.png hit0-24@2x.png hit0-25.png hit0-25@2x.png hit0-26.png hit0-26@2x.png hit0-27.png hit0-27@2x.png hit0-28.png hit0-28@2x.png hit0-29.png hit0-29@2x.png hit0-2@2x.png hit0-3.png hit0-30.png hit0-30@2x.png hit0-31.png hit0-31@2x.png hit0-32.png hit0-32@2x.png hit0-33.png hit0-33@2x.png hit0-34.png hit0-34@2x.png hit0-35.png hit0-35@2x.png hit0-36.png hit0-36@2x.png hit0-37.png hit0-37@2x.png hit0-38.png hit0-38@2x.png hit0-39.png hit0-39@2x.png hit0-3@2x.png hit0-4.png hit0-40.png hit0-40@2x.png hit0-41.png hit0-41@2x.png hit0-42.png hit0-42@2x.png hit0-43.png hit0-43@2x.png hit0-44.png hit0-44@2x.png hit0-45.png hit0-45@2x.png hit0-46.png hit0-46@2x.png hit0-47.png hit0-47@2x.png hit0-48.png hit0-48@2x.png hit0-49.png hit0-49@2x.png hit0-4@2x.png hit0-5.png hit0-5@2x.png hit0-6.png hit0-6@2x.png hit0-7.png hit0-7@2x.png hit0-8.png hit0-8@2x.png hit0-9.png hit0-9@2x.png hit0.png hit0@2x.png hit100-0.png hit100-0@2x.png hit100-1.png hit100-10.png hit100-10@2x.png hit100-11.png hit100-11@2x.png hit100-12.png hit100-12@2x.png hit100-13.png hit100-13@2x.png hit100-14.png hit100-14@2x.png hit100-15.png hit100-15@2x.png hit100-16.png hit100-16@2x.png hit100-17.png hit100-17@2x.png hit100-18.png hit100-18@2x.png hit100-19.png hit100-19@2x.png hit100-1@2x.png hit100-2.png hit100-20.png hit100-20@2x.png hit100-21.png hit100-21@2x.png hit100-22.png hit100-22@2x.png hit100-23.png hit100-23@2x.png hit100-24.png hit100-24@2x.png hit100-25.png hit100-25@2x.png hit100-26.png hit100-26@2x.png hit100-27.png hit100-27@2x.png hit100-28.png hit100-28@2x.png hit100-29.png hit100-29@2x.png hit100-2@2x.png hit100-3.png hit100-30.png hit100-30@2x.png hit100-31.png hit100-31@2x.png hit100-32.png hit100-32@2x.png hit100-33.png hit100-33@2x.png hit100-34.png hit100-34@2x.png hit100-35.png hit100-35@2x.png hit100-36.png hit100-36@2x.png hit100-37.png hit100-37@2x.png hit100-38.png hit100-38@2x.png hit100-39.png hit100-39@2x.png hit100-3@2x.png hit100-4.png hit100-40.png hit100-40@2x.png hit100-41.png hit100-41@2x.png hit100-42.png hit100-42@2x.png hit100-43.png hit100-43@2x.png hit100-44.png hit100-44@2x.png hit100-45.png hit100-45@2x.png hit100-46.png hit100-46@2x.png hit100-47.png hit100-47@2x.png hit100-48.png hit100-48@2x.png hit100-49.png hit100-49@2x.png hit100-4@2x.png hit100-5.png hit100-5@2x.png hit100-6.png hit100-6@2x.png hit100-7.png hit100-7@2x.png hit100-8.png hit100-8@2x.png hit100-9.png hit100-9@2x.png hit100.png hit100@2x.png hit100g.png hit100k-0.png hit100k-0@2x.png hit100k-1.png hit100k-10.png hit100k-10@2x.png hit100k-11.png hit100k-11@2x.png hit100k-12.png hit100k-12@2x.png hit100k-13.png hit100k-13@2x.png hit100k-14.png hit100k-14@2x.png hit100k-15.png hit100k-15@2x.png hit100k-16.png hit100k-16@2x.png hit100k-17.png hit100k-17@2x.png hit100k-18.png hit100k-18@2x.png hit100k-19.png hit100k-19@2x.png hit100k-1@2x.png hit100k-2.png hit100k-20.png hit100k-20@2x.png hit100k-21.png hit100k-21@2x.png hit100k-22.png hit100k-22@2x.png hit100k-23.png hit100k-23@2x.png hit100k-24.png hit100k-24@2x.png hit100k-25.png hit100k-25@2x.png hit100k-26.png hit100k-26@2x.png hit100k-27.png hit100k-27@2x.png hit100k-28.png hit100k-28@2x.png hit100k-29.png hit100k-29@2x.png hit100k-2@2x.png hit100k-3.png hit100k-30.png hit100k-30@2x.png hit100k-31.png hit100k-31@2x.png hit100k-32.png hit100k-32@2x.png hit100k-33.png hit100k-33@2x.png hit100k-34.png hit100k-34@2x.png hit100k-35.png hit100k-35@2x.png hit100k-36.png hit100k-36@2x.png hit100k-37.png hit100k-37@2x.png hit100k-38.png hit100k-38@2x.png hit100k-39.png hit100k-39@2x.png hit100k-3@2x.png hit100k-4.png hit100k-40.png hit100k-40@2x.png hit100k-41.png hit100k-41@2x.png hit100k-42.png hit100k-42@2x.png hit100k-43.png hit100k-43@2x.png hit100k-44.png hit100k-44@2x.png hit100k-45.png hit100k-45@2x.png hit100k-46.png hit100k-46@2x.png hit100k-47.png hit100k-47@2x.png hit100k-48.png hit100k-48@2x.png hit100k-49.png hit100k-49@2x.png hit100k-4@2x.png hit100k-5.png hit100k-5@2x.png hit100k-6.png hit100k-6@2x.png hit100k-7.png hit100k-7@2x.png hit100k-8.png hit100k-8@2x.png hit100k-9.png hit100k-9@2x.png hit100k.png hit100k@2x.png hit300-0.png hit300-0@2x.png hit300.png hit300g-0.png hit300g-0@2x.png hit300g.png hit300k-0.png hit300k-0@2x.png hit300k.png hit50-0.png hit50-0@2x.png hit50-1.png hit50-10.png hit50-10@2x.png hit50-11.png hit50-11@2x.png hit50-12.png hit50-12@2x.png hit50-13.png hit50-13@2x.png hit50-14.png hit50-14@2x.png hit50-15.png hit50-15@2x.png hit50-16.png hit50-16@2x.png hit50-17.png hit50-17@2x.png hit50-18.png hit50-18@2x.png hit50-19.png hit50-19@2x.png hit50-1@2x.png hit50-2.png hit50-20.png hit50-20@2x.png hit50-21.png hit50-21@2x.png hit50-22.png hit50-22@2x.png hit50-23.png hit50-23@2x.png hit50-24.png hit50-24@2x.png hit50-25.png hit50-25@2x.png hit50-26.png hit50-26@2x.png hit50-27.png hit50-27@2x.png hit50-28.png hit50-28@2x.png hit50-29.png hit50-29@2x.png hit50-2@2x.png hit50-3.png hit50-30.png hit50-30@2x.png hit50-31.png hit50-31@2x.png hit50-32.png hit50-32@2x.png hit50-33.png hit50-33@2x.png hit50-34.png hit50-34@2x.png hit50-35.png hit50-35@2x.png hit50-36.png hit50-36@2x.png hit50-37.png hit50-37@2x.png hit50-38.png hit50-38@2x.png hit50-39.png hit50-39@2x.png hit50-3@2x.png hit50-4.png hit50-40.png hit50-40@2x.png hit50-41.png hit50-41@2x.png hit50-42.png hit50-42@2x.png hit50-43.png hit50-43@2x.png hit50-44.png hit50-44@2x.png hit50-45.png hit50-45@2x.png hit50-46.png hit50-46@2x.png hit50-47.png hit50-47@2x.png hit50-48.png hit50-48@2x.png hit50-49.png hit50-49@2x.png hit50-4@2x.png hit50-5.png hit50-5@2x.png hit50-6.png hit50-6@2x.png hit50-7.png hit50-7@2x.png hit50-8.png hit50-8@2x.png hit50-9.png hit50-9@2x.png hit50.png hit50@2x.png hitcircle.png hitcircle@2x.png hitcircle@2xy.png hitcircleoverlay.png hitcircleoverlay@2x.png hitcircleoverlay@2xw.png hitcircleselect.png hitcircleselect@2x.png inputoverlay-background.png inputoverlay-background@2x.png inputoverlay-key.png inputoverlay-key@2x.png lighting.png lighting@2x.png menu-back.png menu-back@2x.png menu-background just place.jpg menu-background.jpg menu-background.png menu-background@2x.png menu-button-background.png menu-button-background@2x.png menu-edit-click.wav menu-exit-click.wav menu-freeplay-click.wav menu-multiplayer-click.wav menu-options-click.wav menu-snow.png menu-snow@2x.png menuback.wav menuclick.wav menuhit.wav mode-fruits-med.png mode-fruits-med@2x.png mode-fruits-small.png mode-fruits-small@2x.png mode-fruits.png mode-fruits@2x.png mode-mania-med.png mode-mania-med@2x.png mode-mania-small.png mode-mania-small@2x.png mode-mania.png mode-mania@2x.png mode-osu-med.png mode-osu-med@2x.png mode-osu-small.png mode-osu-small@2x.png mode-osu.png mode-osu@2x.png mode-taiko-med.png mode-taiko-med@2x.png mode-taiko-small.png mode-taiko-small@2x.png mode-taiko.png mode-taiko@2x.png multi-skipped.png multi-skipped@2x.png normal-hitclap.wav normal-hitfinish.wav normal-hitnormal.wav normal-hitwhistle.wav normal-sliderslide.wav normal-slidertick.wav normal-sliderwhistle.wav pause-back.png pause-back@2x.png pause-continue.png pause-continue@2x.png pause-overlay.png pause-overlay@2x.png pause-replay.png pause-replay@2x.png pause-retry.png pause-retry@2x.png play-skip-0.png play-skip-0@2x.png play-skip-1.png play-skip-10.png play-skip-100.png play-skip-100@2x.png play-skip-101.png play-skip-101@2x.png play-skip-102.png play-skip-102@2x.png play-skip-103.png play-skip-103@2x.png play-skip-104.png play-skip-104@2x.png play-skip-105.png play-skip-105@2x.png play-skip-106.png play-skip-106@2x.png play-skip-107.png play-skip-107@2x.png play-skip-108.png play-skip-108@2x.png play-skip-109.png play-skip-109@2x.png play-skip-10@2x.png play-skip-11.png play-skip-110.png play-skip-110@2x.png play-skip-111.png play-skip-111@2x.png play-skip-112.png play-skip-112@2x.png play-skip-113.png play-skip-113@2x.png play-skip-114.png play-skip-114@2x.png play-skip-115.png play-skip-115@2x.png play-skip-116.png play-skip-116@2x.png play-skip-117.png play-skip-117@2x.png play-skip-118.png play-skip-118@2x.png play-skip-119.png play-skip-119@2x.png play-skip-11@2x.png play-skip-12.png play-skip-120.png play-skip-120@2x.png play-skip-121.png play-skip-121@2x.png play-skip-122.png play-skip-122@2x.png play-skip-123.png play-skip-123@2x.png play-skip-124.png play-skip-124@2x.png play-skip-125.png play-skip-125@2x.png play-skip-126.png play-skip-126@2x.png play-skip-127.png play-skip-127@2x.png play-skip-128.png play-skip-128@2x.png play-skip-129.png play-skip-129@2x.png play-skip-12@2x.png play-skip-13.png play-skip-130.png play-skip-130@2x.png play-skip-131.png play-skip-131@2x.png play-skip-132.png play-skip-132@2x.png play-skip-133.png play-skip-133@2x.png play-skip-134.png play-skip-134@2x.png play-skip-135.png play-skip-135@2x.png play-skip-136.png play-skip-136@2x.png play-skip-137.png play-skip-137@2x.png play-skip-138.png play-skip-138@2x.png play-skip-139.png play-skip-139@2x.png play-skip-13@2x.png play-skip-14.png play-skip-140.png play-skip-140@2x.png play-skip-141.png play-skip-141@2x.png play-skip-142.png play-skip-142@2x.png play-skip-143.png play-skip-143@2x.png play-skip-144.png play-skip-144@2x.png play-skip-145.png play-skip-145@2x.png play-skip-146.png play-skip-146@2x.png play-skip-147.png play-skip-147@2x.png play-skip-148.png play-skip-148@2x.png play-skip-149.png play-skip-149@2x.png play-skip-14@2x.png play-skip-15.png play-skip-150.png play-skip-150@2x.png play-skip-151.png play-skip-151@2x.png play-skip-152.png play-skip-152@2x.png play-skip-153.png play-skip-153@2x.png play-skip-154.png play-skip-154@2x.png play-skip-155.png play-skip-155@2x.png play-skip-156.png play-skip-156@2x.png play-skip-157.png play-skip-157@2x.png play-skip-158.png play-skip-158@2x.png play-skip-159.png play-skip-159@2x.png play-skip-15@2x.png play-skip-16.png play-skip-160.png play-skip-160@2x.png play-skip-16@2x.png play-skip-17.png play-skip-17@2x.png play-skip-18.png play-skip-18@2x.png play-skip-19.png play-skip-19@2x.png play-skip-1@2x.png play-skip-2.png play-skip-20.png play-skip-20@2x.png play-skip-21.png play-skip-21@2x.png play-skip-22.png play-skip-22@2x.png play-skip-23.png play-skip-23@2x.png play-skip-24.png play-skip-24@2x.png play-skip-25.png play-skip-25@2x.png play-skip-26.png play-skip-26@2x.png play-skip-27.png play-skip-27@2x.png play-skip-28.png play-skip-28@2x.png play-skip-29.png play-skip-29@2x.png play-skip-2@2x.png play-skip-3.png play-skip-30.png play-skip-30@2x.png play-skip-31.png play-skip-31@2x.png play-skip-32.png play-skip-32@2x.png play-skip-33.png play-skip-33@2x.png play-skip-34.png play-skip-34@2x.png play-skip-35.png play-skip-35@2x.png play-skip-36.png play-skip-36@2x.png play-skip-37.png play-skip-37@2x.png play-skip-38.png play-skip-38@2x.png play-skip-39.png play-skip-39@2x.png play-skip-3@2x.png play-skip-4.png play-skip-40.png play-skip-40@2x.png play-skip-41.png play-skip-41@2x.png play-skip-42.png play-skip-42@2x.png play-skip-43.png play-skip-43@2x.png play-skip-44.png play-skip-44@2x.png play-skip-45.png play-skip-45@2x.png play-skip-46.png play-skip-46@2x.png play-skip-47.png play-skip-47@2x.png play-skip-48.png play-skip-48@2x.png play-skip-49.png play-skip-49@2x.png play-skip-4@2x.png play-skip-5.png play-skip-50.png play-skip-50@2x.png play-skip-51.png play-skip-51@2x.png play-skip-52.png play-skip-52@2x.png play-skip-53.png play-skip-53@2x.png play-skip-54.png play-skip-54@2x.png play-skip-55.png play-skip-55@2x.png play-skip-56.png play-skip-56@2x.png play-skip-57.png play-skip-57@2x.png play-skip-58.png play-skip-58@2x.png play-skip-59.png play-skip-59@2x.png play-skip-5@2x.png play-skip-6.png play-skip-60.png play-skip-60@2x.png play-skip-61.png play-skip-61@2x.png play-skip-62.png play-skip-62@2x.png play-skip-63.png play-skip-63@2x.png play-skip-64.png play-skip-64@2x.png play-skip-65.png play-skip-65@2x.png play-skip-66.png play-skip-66@2x.png play-skip-67.png play-skip-67@2x.png play-skip-68.png play-skip-68@2x.png play-skip-69.png play-skip-69@2x.png play-skip-6@2x.png play-skip-7.png play-skip-70.png play-skip-70@2x.png play-skip-71.png play-skip-71@2x.png play-skip-72.png play-skip-72@2x.png play-skip-73.png play-skip-73@2x.png play-skip-74.png play-skip-74@2x.png play-skip-75.png play-skip-75@2x.png play-skip-76.png play-skip-76@2x.png play-skip-77.png play-skip-77@2x.png play-skip-78.png play-skip-78@2x.png play-skip-79.png play-skip-79@2x.png play-skip-7@2x.png play-skip-8.png play-skip-80.png play-skip-80@2x.png play-skip-81.png play-skip-81@2x.png play-skip-82.png play-skip-82@2x.png play-skip-83.png play-skip-83@2x.png play-skip-84.png play-skip-84@2x.png play-skip-85.png play-skip-85@2x.png play-skip-86.png play-skip-86@2x.png play-skip-87.png play-skip-87@2x.png play-skip-88.png play-skip-88@2x.png play-skip-89.png play-skip-89@2x.png play-skip-8@2x.png play-skip-9.png play-skip-90.png play-skip-90@2x.png play-skip-91.png play-skip-91@2x.png play-skip-92.png play-skip-92@2x.png play-skip-93.png play-skip-93@2x.png play-skip-94.png play-skip-94@2x.png play-skip-95.png play-skip-95@2x.png play-skip-96.png play-skip-96@2x.png play-skip-97.png play-skip-97@2x.png play-skip-98.png play-skip-98@2x.png play-skip-99.png play-skip-99@2x.png play-skip-9@2x.png play-skip.png play-skip@2x.png play-unranked.png play-unranked@2x.png ranking-A-small.png ranking-A-small@2x.png ranking-A.png ranking-A@2x.png ranking-accuracy.png ranking-accuracy@2x.png ranking-B-small.png ranking-B-small@2x.png ranking-B.png ranking-B@2x.png ranking-C-small.png ranking-C-small@2x.png ranking-C.png ranking-C@2x.png ranking-D-small.png ranking-D-small@2x.png ranking-D.png ranking-D@2x.png ranking-graph.png ranking-graph@2x.png ranking-maxcombo.png ranking-maxcombo@2x.png ranking-panel.png ranking-panel@2x.png ranking-perfect.png ranking-perfect@2x.png ranking-S-small.png ranking-S-small@2x.png ranking-S.png ranking-S@2x.png ranking-SH-small.png ranking-SH-small@2x.png ranking-SH.png ranking-SH@2x.png ranking-title.png ranking-title@2x.png ranking-winner.png ranking-X-small.png ranking-X-small@2x.png ranking-X.png ranking-X@2x.png ranking-XH-small.png ranking-XH-small@2x.png ranking-XH.png ranking-XH@2x.png ready.png ready@2x.png readys.wav reversearrow.png score-0.png score-0@2x.png score-1.png score-1@2x.png score-2.png score-2@2x.png score-3.png score-3@2x.png score-4.png score-4@2x.png score-5.png score-5@2x.png score-6.png score-6@2x.png score-7.png score-7@2x.png score-8.png score-8@2x.png score-9.png score-9@2x.png score-comma.png score-comma@2x.png score-dot.png score-dot@2x.png score-percent.png score-percent@2x.png score-x.png score-x@2x.png scorebar-bg.png scorebar-bg@2x SIMPLESQUARES.png scorebar-bg@2x.png scorebar-bg@2xosu.png scorebar-colour.png scorebar-colour@2x SIMPLESQUARES.png scorebar-colour@2x.png scorebar-colour@2x1.png scorebar-colour@2xpokeballs.png scorebar-marker.png scorebar-marker@2x.png section-fail.png section-fail@2x.png section-pass.png section-pass@2x.png sectionfail.mp3 sectionpass.mp3 seeya.wav selection-mod-autoplay.png selection-mod-autoplay@2x.png selection-mod-cinema.png selection-mod-cinema@2x.png selection-mod-doubletime.png selection-mod-doubletime@2x.png selection-mod-easy.png selection-mod-easy@2x.png selection-mod-flashlight.png selection-mod-flashlight@2x.png selection-mod-halftime.png selection-mod-halftime@2x.png selection-mod-hardrock.png selection-mod-hardrock@2x.png selection-mod-hidden.png selection-mod-hidden@2x.png selection-mod-nightcore.png selection-mod-nightcore@2x.png selection-mod-nofail.png selection-mod-nofail@2x.png selection-mod-perfect.png selection-mod-perfect@2x.png selection-mod-random.png selection-mod-random@2x.png selection-mod-relax.png selection-mod-relax2.png selection-mod-relax2@2x.png selection-mod-relax@2x.png selection-mod-scorev2.png selection-mod-scorev2@2x.png selection-mod-spunout.png selection-mod-spunout@2x.png selection-mod-suddendeath.png selection-mod-suddendeath@2x.png selection-mod-target.png selection-mod-target@2x.png selection-mode-over.png selection-mode-over@2x.png selection-mode.png selection-mode@2x.png selection-mods-over.png selection-mods-over@2x.png selection-mods.png selection-mods@2x.png selection-options-over.png selection-options-over@2x.png selection-options.png selection-options@2x.png selection-random-over.png selection-random-over@2x.png selection-random.png selection-random@2x.png selection-selectoptions-over.png selection-selectoptions-over@2x.png selection-selectoptions.png selection-selectoptions@2x.png selection-tab.png shutter.wav skin.ini sliderb0.png sliderb0@2x.png sliderendcircle.png sliderfollowcircle.png sliderfollowcircle@2x.png sliderscorepoint.png sliderscorepoint@2x.png soft-hitclap.wav soft-hitfinish.wav soft-hitnormal.wav soft-hitwhistle.wav soft-sliderslide.wav soft-slidertick.wav soft-sliderwhistle.wav spinner-approachcircle.png spinner-background.png spinner-circle.png spinner-circle@2x.png spinner-clear.png spinner-clear@2x.png spinner-glow.png spinner-glow@2x.png spinner-metre.png spinner-metre@2x.png spinner-middle.png spinner-middle2.png spinner-middle@2x.png spinner-osu.png spinner-rpm.png spinner-rpm@2x.png spinner-spin.png spinner-spin@2x.png spinner-top.png spinner-warning.png spinnerbonus.wav spinnerspin.wav star.png star2.png star2@2x.png star@2x.png welcome.wav welcome_text.png welcome_text@2x.png "; RegexOptions options = RegexOptions.Multiline; foreach (Match m in Regex.Matches(input, pattern, options)) { Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index); } } }

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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx