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
/
<(?!\/*strong\W|\/*h1\W|\/*input\W|\/*b\W).*?>
/
gm
< matches the character < with index 6010 (3C16 or 748) literally (case sensitive)
Negative Lookahead
(?!\/*strong\W|\/*h1\W|\/*input\W|\/*b\W)
Assert that the Regex below does not match
1st Alternative
\/*strong\W
\/
matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
strong
matches the characters strong literally (case sensitive)
\W matches any non-word character (equivalent to [^a-zA-Z0-9_])
2nd Alternative
\/*h1\W
\/
matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
h1
matches the characters h1 literally (case sensitive)
\W matches any non-word character (equivalent to [^a-zA-Z0-9_])
3rd Alternative
\/*input\W
\/
matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
input
matches the characters input literally (case sensitive)
\W matches any non-word character (equivalent to [^a-zA-Z0-9_])
4th Alternative
\/*b\W
\/
matches the character / with index 4710 (2F16 or 578) literally (case sensitive)
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
b matches the character b with index 9810 (6216 or 1428) literally (case sensitive)
\W matches any non-word character (equivalent to [^a-zA-Z0-9_])
.
matches any character (except for line terminators)
*? matches the previous token between zero and unlimited times, as few times as possible, expanding as needed (lazy)
> matches the character > with index 6210 (3E16 or 768) 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