Your assignment is to make a regular expression parser. I expect you will work in Java, although most other languages are fine, just check with me. You should accept a regular expression as a string and a test string and output if the test string is or isn't in the language specified by the regular expression. You most probably will first that the regular expression, parse it, create a NFA from it, and simulate the NFA deterministically on the test string (by following the set of states the NFA is simultaneously pursuing). However, other approaches might be possible. There is undoubtably a lot of information about this on the web, since parsing and string pattern matching are really important subjects.
It would be easiest if you program worked from the command line, but you will probably make subroutines that take a pattern string and a test string. You might also make one subroutine that takes a pattern string and returns a reference to a pattern matching gizmo. A second call takes the reference to the gizmo and a test string and returns true or false. A few of the standard languages work this way in which the pattern matching NFA is constructed from the regular expression in a first step, and an pattern matching object returned. This object is then applied to test strings in a second step.
We agree that the syntax for regular expressions will follow the definition in the Sipser book, with a few modifications and clarifications.