Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8

Function

  • Match
  • Substitution
  • List
  • Unit Tests
"
/\*/?(\n|[^/]|[^*]/)*\*/
"
g
/ matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
\* matches the character * with index 4210 (2A16 or 528) literally (case sensitive)
/
matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
1st Capturing Group
(\n|[^/]|[^*]/)*
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
1st Alternative
\n
\n matches a line-feed (newline) character (ASCII 10)
2nd Alternative
[^/]
Match a single character not present in the list below
[^/]
/ matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
3rd Alternative
[^*]/
Match a single character not present in the list below
[^*]
* matches the character * with index 4210 (2A16 or 528) literally (case sensitive)
/ matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
\* matches the character * with index 4210 (2A16 or 528) literally (case sensitive)
/ matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
Global pattern flags
g modifier: global. All matches (don't return after first match)
Your regular expression does not match the subject string.

Regular Expression
No Match

r"
"
g

Test String