Day 7: Regular Expressions | 10 Days of JavaScript – Hacker Rank Solution

Day 7: Regular Expressions | 10 Days of JavaScript – Hacker Rank Solution: Hey Guy’s In this post we are solving Day 7: Regular Expressions which is a part of 10 Days of JavaScript Series.

Day 7: Regular Expressions | 10 Days of JavaScript – Hacker Rank Solution

Objective

In this challenge, we use a Regular Expression to evaluate a string. Check out the attached tutorial for more details.

Task

Complete the function in the editor below by returning a RegExp object, re, that matches any string s that begins and ends with the same vowel. Recall that the English vowels are aeio, and u.

Constraints

  • The length of string s is >= 3.
  • String s consists of lowercase letters only (i.e., [a-z]).

Output Format

The function must return a RegExp object that matches any string s beginning with and ending in the same vowel.

Sample Input 0

bcd

Sample Output 0

false

Explanation 0

This string starts with (and ends in) a consonant, so it cannot start and end with the same vowel.

Sample Input 1

abcd

Sample Output 1

false

Explanation 1

This string ends in a consonant, so it cannot start and end with the same vowel.

Sample Input 2

abcda

Sample Output 2

true

Explanation 2

This string starts and ends with the same vowel (a).

Sample Input 3

abcdo

Sample Output 3

false

Explanation 3

This string starts with the vowel a but ends in the vowel o.

Day 7: Regular Expressions | 10 Days of JavaScript – Hacker Rank Solution

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    main();
});
function readLine() {
    return inputString[currentLine++];
}
function regexVar(str) {
//  ^ => first item matches:
// () => stores matching value captured within
// [aeiou] => matches any of the characters in the brackets
// . => matches any character:
// + => for 1 or more occurrances (this ensures str length > 3)
// \1 => matches to previously stored match.
    // \2 looks for matched item stored 2 instances ago
    // \3 looks for matched item stored 3 ago, etc
//  $ ensures that matched item is at end of the sequence
    let re = /^([aeiou]).+\1$/;
    return re;
}
function main() {
    const re = regexVar();
    const s = readLine();
    console.log(re.test(s));
}

Disclaimer: The above Problem (Day 7: Regular Expressions) is generated by Hackerrank but the Solution is Provided by Chase2Learn. This tutorial is only for Educational and Learning purposes. Authority if any of the queries regarding this post or website fill the following contact form thank you.

Leave a Comment