Regular
Expressions
101
@regex101
Follow me on twitter!
Donate
Like regex101? Support it by donating!
Sponsor
Become a sponsor!
Contact
Send me an email
Bug Reports & Feedback
Bugs or suggestions go here
Wiki
Wiki (Info & FAQ)
Whats new?
Whats new?
Regex Editor
Regex Editor
Regex Library
Regex Library
Account
Account
Regex Quiz
Regex Quiz
Settings
Settings
Live Help
Live Help
Consider a donation
Consider a donation
Become a sponsor
Become a sponsor
Save & Share
Save Regex
ctrl+s
Update Regex
ctrl+⇧+s
Flavor
PCRE2 (PHP >=7.3)
PCRE (PHP <7.3)
ECMAScript (JavaScript)
Python 2.7
Golang
Java 8
Function
Match
Substitution
List
Unit Tests
Tools
Code Generator
Regex Debugger
Sponsor
Jamstack at Scale
Explanation
/
^.
(?<!
JJ
|
M3
)
$
/
gm
^
asserts position at start of a line
Lines are delimited by \n
.
matches any character (except for line terminators)
Line terminator(s) are \n
*
matches the previous token between
zero
and
unlimited
times, as many times as possible, giving back as needed
(greedy)
Negative Lookbehind
(?<!
JJ
|
M3
)
Assert that the Regex below does not match
1st Alternative
JJ
JJ
matches the characters
JJ
literally (case sensitive)
2nd Alternative
M3
M3
matches the characters
M3
literally (case sensitive)
$
asserts position at the end of a line
Lines are delimited by \n
Global pattern flags
g modifier:
g
lobal. All matches (don't return after first match)
m modifier:
m
ulti line. Causes
^
and
$
to match the begin/end of each line (not only begin/end of string)
Match Information
Your regular expression does not match the subject string.
Try launching the debugger to find out why.
Quick Reference
Regular Expression
v2
Select Regex Version
No Match
/
Change delimiter
/
gm
Set Regex Options
Copy to clipboard
Test String
Regular
Expressions
101
Please wait while the app is loading...
Please enable JavaScript to use this web application.