Regular expressions: Difference between revisions

Content added Content deleted
(→‎{{header|Groovy}}: completed solution)
(→‎{{header|Groovy}}: matcher-based replacement solution)
Line 428: Line 428:
'How much wood would a woodchuck chuck if a woodchuck could chuck wood?' does match '.*[Ww]o\w+d.*' exactly</pre>
'How much wood would a woodchuck chuck if a woodchuck could chuck wood?' does match '.*[Ww]o\w+d.*' exactly</pre>


"Replacement" Solution:
Replacement Solution (String.replaceAll()):
<lang groovy>println woodchuck.replaceAll(/c\w+k/, "CHUCK")</lang>
<lang groovy>println woodchuck.replaceAll(/c\w+k/, "CHUCK")</lang>


Output:
Output:
<pre>How much wood would a woodCHUCK CHUCK if a woodCHUCK could CHUCK wood?</pre>
<pre>How much wood would a woodCHUCK CHUCK if a woodCHUCK could CHUCK wood?</pre>

Reusable Replacement Solution (Matcher.replaceAll()):
<lang groovy>def ck = (woodchuck =~ /c\w+k/)
println (ck.replaceAll("CHUCK"))
println (ck.replaceAll("wind"))
println (ck.replaceAll("pile"))
println (ck.replaceAll("craft"))
println (ck.replaceAll("block"))
println (ck.replaceAll("row"))
println (ck.replaceAll("shed"))
println (ck.replaceAll("man"))
println (ck.replaceAll("work"))
println (ck.replaceAll("pickle"))</lang>

Output:
<pre>How much wood would a woodCHUCK CHUCK if a woodCHUCK could CHUCK wood?
How much wood would a woodwind wind if a woodwind could wind wood?
How much wood would a woodpile pile if a woodpile could pile wood?
How much wood would a woodcraft craft if a woodcraft could craft wood?
How much wood would a woodblock block if a woodblock could block wood?
How much wood would a woodrow row if a woodrow could row wood?
How much wood would a woodshed shed if a woodshed could shed wood?
How much wood would a woodman man if a woodman could man wood?
How much wood would a woodwork work if a woodwork could work wood?
How much wood would a woodpickle pickle if a woodpickle could pickle wood?</pre>


=={{header|Haskell}}==
=={{header|Haskell}}==