Regular expressions: Difference between revisions

m
Added Sidef language
(Added zkl)
m (Added Sidef language)
Line 1,711:
Replace text:
<lang shiny>say str.alter ~ a ~ 'another'</lang>
=={{header|Sidef}}==
Simple matching:
<lang ruby>var str = "I am a string";
if (str =~ /string$/) {
print "Ends with 'string'\n";
}</lang>
 
Capturing matches:
<lang ruby>var str = <<'EOF';
x:Foo
y:Bar
EOF
 
var rsp = str.match(/x:(\S+)\s+y:(\S+)/);
if (rsp) {
say rsp.cap[0]; # prints: 'Foo'
say rsp.cap[1]; # prints: 'Bar'
}</lang>
 
Substitutions:
<lang ruby>var str = "I am a string";
 
# Substitute something mached by a regex
str.sub!(/ a /, ' another '); # "I am a string" => "I am another string"
 
# Remove something matched by a regex
str -= / \Kanother /i; # "I am another string" => "I am string"
 
# Global subtitution with a block
str = str.gsub(/(\w+)/, {|s1| 'x' * s1.len}); # globaly replace any word with 'xxx'
 
say str; # prints: 'x xx xxxxxx'</lang>
 
=={{header|Slate}}==
2,747

edits