Are Regular Expressions in Test Cases for Class Assignments Working?
I am trying to use regular expressions in test cases and I am unable to get anything other than literal matching to work. Specifically, I am trying to check the output of:
print ("Hello World")
and I have set the regular expression to each of the following without success:
new RegExp(/Hello World/i);
Is this functionality working and I am missing some documentation?
This has been driving me crazy, too, and I finally figured something out. I've gotten regular expressions to work, but I can't get flags to work.
In a Hello World assignment I got the following regular expressions tests to pass. Expected output is "Hello world!"
It seems that regular expressions work if you don't put the leading and trailing "/". But, this leads to the issue of how to add flags. I'd really like to be able to add flags like "i" for case-insensitivity. Here are some things I tried that didn't work. Maybe someone can figure something out.
RegExp("hello world!", "i")
RegExp('hello world!', 'i')
new RegExp('hello world!', 'i')
I just ran into this problem while setting up my AP CS A class and it made me feel dumb. 🙁
One way to make regex work properly is to explicitly mark the start
^ and end
$ of the string your pattern is to match.
No forward slashes
The example is me figuring out how to test Exercise 2 from Chapter 1 of Think Java 2e by Allen Downey.
Regular expressions don't work properly (or not at all). I've tried several variations, with/without start/end "/" markers as well as lots of others...all based on Mozilla ECMA regex, as referenced in your documentation.
I have noticed that if I put incorrect regex (i.e. invalid), the system will hang when running the test. So, it looks like it's running SOME kind of regex algo...but it's just very poorly implemented/documented.
Please fix this as it is a vital part of your platform for us instructors.
I've taken most of regex out, and will likely delete the specific test so it doesn't cause a failure for my students...but here's the link so that an admin can look at the assignment and run a test regex.
You can see, however, in the image below that it is treating the regex characters as literals...at least in how it's displaying output: