--- a/handouts/ho01.tex Tue Jan 05 01:46:41 2016 +0000
+++ b/handouts/ho01.tex Tue Jan 12 02:18:58 2016 +0000
@@ -7,6 +7,7 @@
%%http://regexcrossword.com/challenges/cities/puzzles/1
\begin{document}
+\fnote{\copyright{} Christian Urban, 2014, 2015}
\section*{Handout 1}
@@ -16,15 +17,16 @@
Knuth-Morris-Pratt algorithm, which is currently the most
efficient general string search algorithm. But often we do
\emph{not} just look for a particular string, but for string
-patterns. For example in program code we need to identify
-what are the keywords, what are the identifiers etc. A pattern
-for identifiers could be stated as: they start with a letter,
+patterns. For example in program code we need to identify what
+are the keywords, what are the identifiers etc. A pattern for
+identifiers could be stated as: they start with a letter,
followed by zero or more letters, numbers and underscores.
Also often we face the problem that we are given a string (for
example some user input) and want to know whether it matches a
-particular pattern. In this way we can exclude user input that
-would otherwise have nasty effects on our program (crashing it
-or making it go into an infinite loop, if not worse).
+particular pattern. In this way we can, for example, exclude
+user input that would otherwise have nasty effects on our
+program (crashing it or making it go into an infinite loop, if
+not worse).
\defn{Regular expressions} help with conveniently specifying
such patterns. The idea behind regular expressions is that