<span class="hljs-regexp">/escape\/slash/</span> <span class="hljs-regexp">/escape \/ slash \/ /</span> <span class="hljs-regexp">/hello/</span> <span class="hljs-regexp">/hello world/</span> <span class="hljs-regexp">/\w+\s+(\d+)\s+\w+/</span> <span class="hljs-regexp">/(.+?): (.+)/</span> <span class="hljs-regexp">/(?<identifier>[[:alpha:]]\w*) = (?<hex>[0-9A-F]+)/</span> <span class="hljs-keyword">let</span> p <span class="hljs-operator">=</span> <span class="hljs-regexp">/hello/</span> <span class="hljs-keyword">let</span> n <span class="hljs-operator">=</span> <span class="hljs-regexp">/hello/</span> <span class="hljs-operator">+</span> <span class="hljs-regexp">/world/</span> <span class="hljs-operator">-</span> <span class="hljs-regexp">/nice/</span> <span class="hljs-keyword">let</span> q <span class="hljs-operator">=</span> <span class="hljs-regexp">/hello/</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> (<span class="hljs-regexp">/hello/</span>) method(value: <span class="hljs-regexp">/hello/</span>) method(<span class="hljs-regexp">/hello/</span>, world) method(<span class="hljs-regexp">/hello/</span>, <span class="hljs-regexp">/world/</span>) foo(<span class="hljs-regexp">/a, b/</span>) <span class="hljs-comment">// Will become regex literal '/a, b/'</span> qux(<span class="hljs-regexp">/, !/</span>) <span class="hljs-comment">// Will become regex literal '/, !/'</span> qux(<span class="hljs-regexp">/,/</span>) <span class="hljs-comment">// Will become regex literal '/,/'</span> <span class="hljs-keyword">let</span> g <span class="hljs-operator">=</span> hasSubscript[<span class="hljs-regexp">/]/</span><span class="hljs-number">2</span> <span class="hljs-comment">// Will become regex literal '/]/'</span> <span class="hljs-keyword">let</span> h <span class="hljs-operator">=</span> <span class="hljs-regexp">/0; let f = 1/</span> <span class="hljs-comment">// Will become the regex literal '/0; let y = 1/'</span> <span class="hljs-keyword">let</span> i <span class="hljs-operator">=</span> <span class="hljs-regexp">/^x/</span> <span class="hljs-comment">// Will become the regex literal '/^x/'</span> <span class="hljs-comment">// extended literals</span> <span class="hljs-regexp">#/raw\/slashes/#</span> <span class="hljs-regexp">#/raw \/ slashes \/ /#</span> <span class="hljs-regexp">#/hello/#</span> <span class="hljs-regexp">#/he/llo/#</span> <span class="hljs-regexp">##/hello/##</span> <span class="hljs-regexp">##/he/llo/##</span> <span class="hljs-regexp">###/hello/###</span> <span class="hljs-regexp">###/he/llo/###</span> #<span class="hljs-regexp">###/hello/###</span># #<span class="hljs-regexp">###/he/llo/###</span># <span class="hljs-regexp">#/hello world/#</span> <span class="hljs-regexp">#/\w+\s+(\d+)\s+\w+/#</span> <span class="hljs-regexp">#/(.+?): (.+)/#</span> <span class="hljs-keyword">let</span> p <span class="hljs-operator">=</span> <span class="hljs-regexp">#/hello/#</span> <span class="hljs-keyword">let</span> n <span class="hljs-operator">=</span> <span class="hljs-regexp">#/hello/#</span> <span class="hljs-operator">+</span> <span class="hljs-regexp">/world/</span> <span class="hljs-operator">-</span> <span class="hljs-regexp">#/nice/#</span> <span class="hljs-keyword">let</span> q <span class="hljs-operator">=</span> <span class="hljs-regexp">#/hello/#</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> (<span class="hljs-regexp">#/hello/#</span>) method(value: <span class="hljs-regexp">#/hello/#</span>) method(<span class="hljs-regexp">#/hello/#</span>, world) method(<span class="hljs-regexp">#/hello/#</span>, <span class="hljs-regexp">#/world/#</span>) <span class="hljs-regexp">#/regex with #not a comment/#</span> <span class="hljs-comment">// multiline extended literals</span> <span class="hljs-keyword">let</span> regex <span class="hljs-operator">=</span> <span class="hljs-regexp">#/ <span class="hljs-comment"># Match a line of the format e.g "DEBIT 03/03/2022 Totally Legit Shell Corp $2,000,000.00"</span> (?<kind> \w+) \s\s+ (?<date> \S+) \s\s+ (?<account> (?: (?!\s\s) . )+) \s\s+ <span class="hljs-comment"># Note that account names may contain spaces.</span> (?<amount> .*) /#</span> <span class="hljs-regexp">#/ <span class="hljs-comment">#regex comment</span> <span class="hljs-comment"># regex comment</span> <span class="hljs-comment">## regex comment</span> this is another extended regex literal /this is still in the regex/ 123 12 / 2 (/hello/) backslash escape literal newline\ newline explicit\n nice /#</span> <span class="hljs-regexp">##/ <span class="hljs-comment">#regex comment</span> <span class="hljs-comment"># regex comment</span> <span class="hljs-comment">#/ regex comment</span> multiline /##</span> <span class="hljs-regexp">###/ <span class="hljs-comment">#regex comment</span> <span class="hljs-comment"># regex comment</span> <span class="hljs-comment">#/ regex comment</span> multiline /###</span> <span class="hljs-comment">// whitespace</span> <span class="hljs-number">2</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> <span class="hljs-comment">// not a regex</span> <span class="hljs-number">2</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span> <span class="hljs-comment">// not a regex</span> <span class="hljs-number">2</span> <span class="hljs-regexp">/2/</span> <span class="hljs-number">2</span> <span class="hljs-comment">// is a regex</span> <span class="hljs-number">2</span> <span class="hljs-regexp">/2 /</span> <span class="hljs-number">2</span> <span class="hljs-comment">// is a regex</span> <span class="hljs-number">2</span> <span class="hljs-operator">/</span> <span class="hljs-number">2</span><span class="hljs-operator">/</span> <span class="hljs-number">2</span> <span class="hljs-comment">// not a regex</span> <span class="hljs-number">2</span> <span class="hljs-regexp">#/ 2 /#</span> <span class="hljs-number">2</span> <span class="hljs-comment">// is a regex</span> <span class="hljs-regexp">/\ escaped leading whitespace/</span> <span class="hljs-comment">// is a regex</span> x<span class="hljs-operator">+/</span>y<span class="hljs-operator">/</span> <span class="hljs-comment">// infix operator, not a regex</span> x <span class="hljs-operator">+</span> <span class="hljs-regexp">/y/</span> <span class="hljs-comment">// is a regex</span> x<span class="hljs-operator">+</span><span class="hljs-regexp">#/y/#</span> <span class="hljs-comment">// is a regex</span> <span class="hljs-comment">// structural</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">Planet</span> { <span class="hljs-keyword">var</span> d <span class="hljs-operator">=</span> <span class="hljs-regexp">/test/</span> <span class="hljs-keyword">var</span> e <span class="hljs-operator">=</span> <span class="hljs-regexp">#/test/#</span> <span class="hljs-keyword">var</span> n: <span class="hljs-keyword">Any</span> { <span class="hljs-regexp">/test/</span> <span class="hljs-operator">+</span> <span class="hljs-regexp">#/test/#</span> } } <span class="hljs-comment">// unterminated</span> <span class="hljs-operator">/</span>something another line <span class="hljs-operator">/</span>