Regular Expressions 101

@regex101
Donate
Sponsor
Contact
Bug Reports & Feedback
Wiki
Whats new?

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
/
^'\s*(SELECT)[^*'](FROM)[^*']'|^"\s*(SELECT)[^*"](FROM)[^*"]"
/
gm
1st Alternative
^'\s*(SELECT)[^*'](FROM)[^*']'
^ asserts position at start of a line
' matches the character ' literally (case sensitive)
\s
matches any whitespace character (equivalent to [\r\n\t\f\v ])
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
1st Capturing Group
(SELECT)
SELECT matches the characters SELECT literally (case sensitive)
Match a single character not present in the list below
[^']
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
' matches the character ' literally (case sensitive)
2nd Capturing Group
(FROM)
FROM matches the characters FROM literally (case sensitive)
Match a single character not present in the list below
[^']
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
' matches the character ' literally (case sensitive)
' matches the character ' literally (case sensitive)
2nd Alternative
^"\s*(SELECT)[^*"](FROM)[^*"]"
^ asserts position at start of a line
" matches the character " literally (case sensitive)
\s
matches any whitespace character (equivalent to [\r\n\t\f\v ])
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
3rd Capturing Group
(SELECT)
SELECT matches the characters SELECT literally (case sensitive)
Match a single character not present in the list below
[^"]
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
" matches the character " literally (case sensitive)
4th Capturing Group
(FROM)
FROM matches the characters FROM literally (case sensitive)
Match a single character not present in the list below
[^"]
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
" matches the character " literally (case sensitive)
" matches the character " literally (case sensitive)
Global pattern flags
g modifier: global. All matches (don't return after first match)
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
Your regular expression does not match the subject string.Try launching the debugger to find out why.

Regular Expression
No Match

/
/
gm

Test String

Substitution

Processing...