regex examples - programming

Test for whether certain number of matches exists

// Fill in [A-Z] with your desired matching group
(?:.*[A-Z]){2,}

// Example javascript function implementing this idea
function uppercaseLetters(input, {
    count = 1,
    message = (count) => `Need at least ${count} uppercase letter${(count > 1) ? 's' : ''}`
} = {}) {
    let regex = new RegExp(`(?:.*[A-Z]){${count},}`)
    if (!regex.test(input)) {
        if (typeof message === 'function') {
            return message(count)
        } else {
            return message;
        }
    }
}

// Usage
uppercaseLetters('oiwejgoiwe', {count: 2})
// Output
Need at least 2 uppercase letters