Skip to content
← Back to Community
Are Regular Expressions in Test Cases for Class Assignments Working?
Profile icon
JohnDutton

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:

/Hello World/i
/Hello World/
new RegExp(/Hello World/i);

Is this functionality working and I am missing some documentation?

Voters
Profile icon
RichardCheung11
Profile icon
SamrathAcharya
Profile icon
slaforest0
Profile icon
daveavis
Profile icon
JohnDutton
Comments
hotnewtop
Profile icon
daveavis

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!"
\w+
(\w)\s(\w)
\w\s\w
[Hh]ello\s[Ww]orld!

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.
hello world!/i
hello world!//i
hello world!/i
"hello world!"/i
"hello world!",i
RegExp("hello world!", "i")
RegExp('hello world!', 'i')
new RegExp('hello world!', 'i')

Profile icon
NicolasMcIntyre

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.

^Hello, World!\n[a-zA-Z0-9]+$

No forward slashes /.

The example is me figuring out how to test Exercise 2 from Chapter 1 of Think Java 2e by Allen Downey.

Profile icon
rammonsnova

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:
image

Profile icon
gideonyuval

I'm seeing the exact same thing. What works is only what

@daveavis
wrote below. I can't get flags to work