Regular expressions: Difference between revisions

m
→‎{{header|Phix}}: syntax coloured, made p2js compatible, regex.e needed a couple of bugfixes
m (→‎{{header|Phix}}: syntax coloured, made p2js compatible, regex.e needed a couple of bugfixes)
Line 2,045:
 
=={{header|Phix}}==
<!--<lang Phix>include builtins\regex.e(phixonline)-->
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
string s = "I am a string"
<span style="color: #008080;">include</span> <span style="color: #000000;">builtins</span><span style="color: #0000FF;">\</span><span style="color: #000000;">regex</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
printf(1,"\"%s\" %s with string\n",{s,iff(length(regex(`string$`,s))?"ends":"does not end")})
<span style="color: #7060A8;">requires</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"1.0.2"</span><span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- (needs some recent bugfixes to regex.e for p2js)</span>
printf(1,"\"%s\" %s with You\n",{s,iff(length(regex(`^You`,s))?"starts":"does not start")})
<span style="color: #004080;">string</span> <span style="color: #000000;">s</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"I am a string"</span>
?gsub(`[A-Z]`,"abCDefG","*")
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\"%s\" %s with string\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">regex</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`string$`</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">))?</span><span style="color: #008000;">"ends"</span><span style="color: #0000FF;">:</span><span style="color: #008000;">"does not end"</span><span style="color: #0000FF;">)})</span>
?gsub(`[A-Z]`,"abCDefGH","(&)")
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\"%s\" %s with You\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008080;">iff</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">regex</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`^You`</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">))?</span><span style="color: #008000;">"starts"</span><span style="color: #0000FF;">:</span><span style="color: #008000;">"does not start"</span><span style="color: #0000FF;">)})</span>
?gsub(`[A-Z]+`,"abCDefGH","(&)")
<span style="color: #0000FF;">?</span><span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`[A-Z]`</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"abCDefG"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"*"</span><span style="color: #0000FF;">)</span>
?gsub(`string`,s,"replacement")
<span style="color: #0000FF;">?</span><span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`[A-Z]`</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"abCDefGH"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"(&)"</span><span style="color: #0000FF;">)</span>
s = gsub(`\ba\b`,s,"another") ?s
<span style="color: #0000FF;">?</span><span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`[A-Z]+`</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"abCDefGH"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"(&)"</span><span style="color: #0000FF;">)</span>
?gsub(`string`,s,"replacement")</lang>
<span style="color: #0000FF;">?</span><span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`string`</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"replacement"</span><span style="color: #0000FF;">)</span>
<span style="color: #000000;">s</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`\ba\b`</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"another"</span><span style="color: #0000FF;">)</span> <span style="color: #0000FF;">?</span><span style="color: #000000;">s</span>
<span style="color: #0000FF;">?</span><span style="color: #000000;">gsub</span><span style="color: #0000FF;">(</span><span style="color: #008000;">`string`</span><span style="color: #0000FF;">,</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"replacement"</span><span style="color: #0000FF;">)</span>
<!--</lang>-->
{{out}}
<pre>
7,804

edits