Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

277
Views
Correct RegExp Syntax using a Variable

I am trying to test match a string if it is both singular and plural using javascript.

Because I need to use a variable I'm using RexExp like so but it's always returning true even if I use checksxcd or anything else, as long as check is there it passes.

let str = 'check'
let reg = new RegExp("(["+ str +"])(s\\b|\\b)", "g");
reg.test(check)
// Returns true

If I test this without using the str variable it works for only singluar and only plural of the word check as expected.

let reg = new RegExp(/([check])(s\b|\b)/, "g");

I'm assuming I have a syntax issue but I can't seem to find out what I'm doing wrong. Any help is appreciated.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You are using str in the regex and are running the check against the str string. That is why the result will always be true.

You can use

let str = 'checkl'
let reg = new RegExp("\\b"+ str + "(?:e?s)?\\b")
console.log(reg.test("A check"))  // => false
console.log(reg.test("A checkl")) // => true

Do not use g flag when using a regex in RegExp#test, that may lead to unexpected results.

Note I added an optional e before s ending, since the noun endings can be es or s.

Pattern details:

  • \b - a word boundary
  • str - the str word
  • (?:e?s)? - an optional sequence of an optional e and then s (so it is either s or es or empty string)
  • \b - a word boundary.
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!